详情页标题前

腾讯云容器服务使用 TCR 交付流水线在 TKE 中快速实现容器 DevOps同尘科技

详情页1

操作场景

在云原生时代,DevOps 理念已被广泛接受,而容器技术的兴起和普及加速了 DevOps 的落地。基于容器 DevOps 实现持续集成和持续部署,可显著提升企业的业务应用创建和交付速度,提升企业的竞争力。本文将介绍如何通过使用 TCR 交付流水线功能,与容器服务 TKE、CODING DevOps 服务联合为用户提供简单易上手的容器 DevOps 能力,可实现 推送代码自动触发镜像构建和应用部署 或 本地推送镜像后自动触发部署。n

腾讯云容器服务使用 TCR 交付流水线在 TKE 中快速实现容器 DevOps同尘科技



前提条件

已有容器镜像服务 TCR 企业版实例,并已创建镜像仓库。详情可参见 购买企业版实例、创建镜像仓库。已有容器服务 TKE 集群,并已部署容器应用。详情可参见 创建集群。已开通 CODING DevOps 服务。说明当前容器服务 TKE 已支持在控制台内选择容器镜像服务 TCR 企业版镜像创建工作负载。同时,TKE 标准集群可安装 TCR 专属插件,实现内网及免密拉取 TCR 企业版内镜像,详情可参见 使用 TCR 企业版实例内容器镜像创建工作负载。

操作步骤

场景1:推送代码后自动触发镜像构建和应用部署

支持用户配置流水线,在代码变更后,自动构建镜像,并触发自动部署到容器平台。

配置交付流水线

1. 登录容器镜像服务控制台,选择左侧导航栏中的 交付流水线。2. 在“交付流水线”页面中,单击新建。3. 在“基本信息”步骤中,配置以下参数,单击下一步:镜像配置。如下图所示: n

腾讯云容器服务使用 TCR 交付流水线在 TKE 中快速实现容器 DevOps同尘科技

流水线名称:设置交付流水线名称。流水线描述:为交付流水线添加描述信息,创建后可修改。4. 在“镜像配置”步骤中,配置以下参数,单击下一步:应用部署。如下图所示: n

腾讯云容器服务使用 TCR 交付流水线在 TKE 中快速实现容器 DevOps同尘科技

镜像仓库:选择交付流水线关联的镜像仓库,将自动配置镜像构建及推送,用于托管应用部署所需要的镜像。镜像版本过滤:支持对执行交付流水线中镜像的版本进行限制,可以过滤不需要执行部署的镜像版本。直接部署任意版本:推送到镜像仓库的任意版本镜像都会被部署。仅部署指定名称版本:需指定镜像版本,多个版本可以使用逗号分隔,非指定版本不会部署。仅部署指定规则版本:需输入正则表达式。镜像来源:支持平台构建镜像和本地推送镜像。本场景以选择“平台构建镜像”为例。平台构建镜像:允许用户关联不同代码托管平台的代码仓库,当代码变动时自动触发交付流水线,完成自动构建、推送镜像以及应用部署。本地推送镜像:支持用户在手动推送镜像时可以触发应用部署。代码源、代码仓库:选择用于构建镜像的代码仓库,流水线将拉取该代码仓库内源代码进行编译及构建,首次选择需要授权。目前已支持 GitHub、公有GitLab、私有GitLab、码云以及工蜂等代码托管平台。触发规则:镜像构建被自动触发的规则条件。目前支持以下四种场景:推送到指定分支触发:需指定分支。推送新标签时触发构建:新建标签并推送时触发。推送到分支时触发构建:推送至任意分支时触发,无需指定分支。符合分支或标签规则时构建:需输入正则表达式,例如 ^refs/heads/master$,可匹配 master 分支进行触发。Dockerfile 路径:镜像构建执行的操作基于代码仓库内的 Dockerfile,需指定该 Dockerfile 文件的路径。如不指定,默认为代码仓库根目录下名为 Dockerfile 的文件。构建目录:镜像构建执行的工作目录,即上下文环境(context),默认为代码仓库的根目录。版本规则:定义镜像构建生成的镜像名称,即镜像版本(tag)。支持配置自定义前缀,并组合加入“分支/标签”,“更新时间”,“commit 号” 三个环境变量。其中,更新时间为执行 docker tag 指令时构建服务的系统时间。5. 在“应用部署”步骤中,配置以下参数,单击完成部署平台:本场景以容器服务 TKE 为例。部署地域:目标集群所在地域。选择已创建的 TKE 标准集群所在地域。部署集群:目标集群。选择已创建的 TKE 标准集群。部署方式:当前仅支持 “更新已有工作负载”。命名空间:已部署应用所在的命名空间。工作负载:已部署应用的关联工作负载。Pod 容器:已部署应用的工作负载内的 Pod 容器,该容器内使用了上步骤中关联镜像仓库内的镜像。6. 完成以上配置后,可在“交付流水线” 列表页查看新建的流水线。如下图所示: n

腾讯云容器服务使用 TCR 交付流水线在 TKE 中快速实现容器 DevOps同尘科技



更新容器应用

完成以上配置后,即可在更新应用代码后,自动触发镜像构建,推送及应用更新。1. 更新源代码n更新源代码,并提交至远端代码仓库。如下图所示: n

腾讯云容器服务使用 TCR 交付流水线在 TKE 中快速实现容器 DevOps同尘科技

2. 执行流水线n源代码推送完成后,如符合镜像配置中镜像构建的触发条件,将触发流水线执行。可单击流水线查看该流水线执行记录,并查看具体步骤进度。如下图所示: n

腾讯云容器服务使用 TCR 交付流水线在 TKE 中快速实现容器 DevOps同尘科技

Checkout:检出代码。Docker Build:基于镜像构建配置进行镜像构建,并为生成的镜像打上指定规则的 Tag。例如,v-{tag}-{date}-{commit}Docker Push:推送镜像,自动推送至关联镜像仓库内。Deploy To TKE:使用最新推送的镜像更新关联工作负载及Pod 内同名镜像。3. 查看应用更新状态3.1 登录容器服务控制台,选择左侧导航栏中的集群。3.2 单击需查看应用更新状态的集群 ID,进入集群的“工作负载”页面。3.3 在 “Deployment” 页中,选择实例名称,进入实例的详情页面。3.4 在“修订历史”页签中,即可查看应用更新状态。如下图所示,v1版本是一开始手动部署的 nginx 镜像,流水线执行完成后更新为 v2版本,使用的是自动构建出来的新的镜像。n

腾讯云容器服务使用 TCR 交付流水线在 TKE 中快速实现容器 DevOps同尘科技

n您也可以直接访问该应用服务,查看是否已更新。通过 Service 暴露到公网的地址,查看服务更新结果。如下图所示: n

腾讯云容器服务使用 TCR 交付流水线在 TKE 中快速实现容器 DevOps同尘科技



腾讯云容器服务使用 TCR 交付流水线在 TKE 中快速实现容器 DevOps同尘科技



场景2:本地推送镜像后自动触发部署

在某些场景中不需要使用 TCR 镜像自动构建能力,但又希望在推送镜像后能够自动部署到容器平台。TCR 支持用户配置本地推送镜像后,通过触发器自动触发镜像部署。

配置交付流水线

1. 登录容器镜像服务控制台,选择左侧导航栏中的交付流水线。2. 在“交付流水线”页面中,单击新建。如下图所示: n

腾讯云容器服务使用 TCR 交付流水线在 TKE 中快速实现容器 DevOps同尘科技

3. 在“基本信息”步骤中,配置以下参数,单击下一步:镜像配置。如下图所示: n

腾讯云容器服务使用 TCR 交付流水线在 TKE 中快速实现容器 DevOps同尘科技

流水线名称:设置交付流水线名称。流水线描述:为交付流水线添加描述信息,创建后可修改。4. 在“镜像配置”步骤中,配置以下参数,单击下一步:应用部署。如下图所示: n

腾讯云容器服务使用 TCR 交付流水线在 TKE 中快速实现容器 DevOps同尘科技

镜像仓库:选择交付流水线关联的镜像仓库,将自动配置镜像构建及推送,用于托管应用部署所需要的镜像。镜像版本过滤:支持对执行交付流水线中镜像的版本进行限制,可以过滤不需要执行部署的镜像版本。直接部署任意版本:推送到镜像仓库的任意版本镜像都会被部署。仅部署指定名称版本:需指定镜像版本,多个版本可以使用逗号分隔,非指定版本不会部署。仅部署指定规则版本:需输入正则表达式。镜像来源:支持平台构建镜像和本地推送镜像。本场景以选择“本地推送镜像”为例。平台构建镜像:允许用户关联不同代码托管平台的代码仓库,当代码变动时自动触发交付流水线,完成自动构建、推送镜像以及应用部署。本地推送镜像:支持用户在手动推送镜像时可以触发应用部署。5. 在“应用部署”步骤中,配置以下参数,单击完成部署平台:本场景以容器服务 TKE 为例。部署地域:目标集群所在地域。选择已创建的 TKE 标准集群所在地域。部署集群:目标集群。选择已创建的 TKE 标准集群。部署方式:当前仅支持 “更新已有工作负载”。命名空间:已部署应用所在的命名空间。工作负载:已部署应用的关联工作负载。Pod 容器:已部署应用的工作负载内的 Pod 容器,该容器内使用了上步骤中关联镜像仓库内的镜像。

更新容器应用

完成以上配置后,即可在本地使用命令行指令推送镜像,触发自动部署。1. 本地推送镜像1.1 登录 容器镜像服务控制台,选择左侧导航栏中的镜像仓库。n在“镜像仓库”页面即可查看当前实例内的镜像仓库列表。如需切换实例,请在页面上方的“实例名称”下拉列表中进行选择。 1.2 单击实例右侧的快捷指令,在弹窗中查看快捷指令。如下图所示: n

腾讯云容器服务使用 TCR 交付流水线在 TKE 中快速实现容器 DevOps同尘科技

2. 执行流水线n本地推动镜像完成后,如符合镜像配置中镜像构建的触发条件,将触发流水线执行。由于此时镜像已经准备好,因此流水线只需要执行自动部署。如下图所示: n

腾讯云容器服务使用 TCR 交付流水线在 TKE 中快速实现容器 DevOps同尘科技

3. 查看应用更新状态3.1 登录容器服务控制台,选择左侧导航栏中的集群。3.2 单击需查看应用更新状态的集群 ID,进入集群的“工作负载”页面。3.3 在 “Deployment” 页中,选择实例名称,进入实例的详情页面。3.4 在“修订历史”页签中,即可查看应用更新状态。n您也可以直接访问该应用服务,查看是否已更新。通过 Service 暴露到公网的地址,查看服务更新结果。如下图所示: n

腾讯云容器服务使用 TCR 交付流水线在 TKE 中快速实现容器 DevOps同尘科技


容器服务官网1折活动,限时活动,即将结束,速速收藏
同尘科技腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/148623.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云对象存储GET Bucket(List Objects)

    功能描述 GET Bucket 请求等同于 List Objects 请求,可以列出该存储桶内的部分或者全部对象。该 API 的请求者需要对存储桶有读取权限。说明 如果您往存储桶中上传了一个对象,并立即调用 GET Bucket 接口,由于此接口的最终一致性特性,返回的结果中可能不会包含您刚刚上传的对象。 授权说明 授权策略中 action 设置为 cos…

    腾讯云 2023年12月9日
  • 腾讯云对象存储List Parts

    功能描述 List Parts 用来查询特定分块上传中的已上传的块,即罗列出指定 UploadId 所属的所有已上传成功的分块。说明只有主账号或者被授权 List Part 接口权限的子账号可以调用该接口。 授权说明 授权策略中 action 设置为 cos:ListParts 。查看所有 action。 请求 请求示例 GET /<ObjectKe…

    腾讯云 2023年12月9日
  • 腾讯云云函数(SCF)环境说明-云淘科技

    Python 版本选择 目前支持的 Python 开发语言包括如下版本:Python 3.10Python 3.9Python 3.7Python 3.6Python 2.7您可以在函数创建时,选择您所期望使用的运行环境,Python 3.10、Python 3.9、Python 3.7、Python 3.6 或 Python 2.7。您可以在 这里 查看 …

    腾讯云 2023年12月9日
  • 函数计算里绑定自定义域名一定要确定解析设置嘛?类似CDN显示个状态不行嘛?-云小二-阿里云

    函数计算里绑定自定义域名一定要确定解析设置嘛?类似CDN显示个状态不行嘛?访问都过去了,一直添加不上自定义域名。函数计算后台添加自定义域名的时候强制进行dns解析验证,通不过不让加吗? 以下为热心网友提供的参考意见 是的,需要配置域名解析。整个流程如下: ——参考来源于阿里云官方文档。 以下为热心网友提供的参考意见 自定义域名和你解析域名一样。你不配置,解析…

    2023年12月26日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云对象存储OSSJava常见问题-云淘科技

    本文介绍使用OSS Java SDK的常见问题及解决方法。 包冲突 错误原因 使用OSS Java SDK时,报类似如下错误,说明工程中可能有包冲突。 Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/http/ssl/TrustStrategy at com.aliy…

    2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。