IDC

容器镜像服务 配置镜像构建 - 操作指南

作者:admin 2021-09-18 我要评论

操作场景 腾讯云容器镜像服务(Tencent Container Registry,TCR)基于腾讯云 CODING DevOps 提供了镜像构建及交付流水线功能,满足容器用户快速配置并应用持续...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

操作场景

腾讯云容器镜像服务(Tencent Container Registry,TCR)基于腾讯云 CODING DevOps 提供了镜像构建及交付流水线功能,满足容器用户快速配置并应用持续集成及持续部署的需求。如需使用更加灵活强大的持续编译、构建、交付流水线功能,请了解并使用 容器 DevOps。

目前 TCR 企业版及个人版服务均支持镜像构建功能,本文仅面向企业版进行操作说明。目前镜像构建功能支持使用托管在 GitHub、GitLab.com、Gitee 码云 及 CODING 上的源代码进行编译构建。其中,建议 CODING DevOps 用户直接在其“持续集成”功能中配置镜像构建,目前已内置“构建镜像并推送到 TCR 企业版”模板。TCR 支持四种类型的触发机制,例如推送到指定的分支触发镜像构建。支持自定义配置 Dockerfile 路径并构建目录。支持灵活配置镜像版本命名规则,例如自定义前缀-分支-构建时间-commit 号,实现镜像版本与代码更新同步管理。

前提条件

在进行 TCR 企业版镜像构建配置前,您需要完成以下准备工作:

  • 已成功 购买企业版实例。
  • 如果使用子账号进行操作,请参考 企业版授权方案示例 提前为子账号授予对应实例的操作权限。
  • 已开通 CODING DevOps 服务,并完成授权操作。详情请参见 开通服务。

操作步骤

创建镜像仓库

参考 创建镜像仓库 完成镜像仓库创建,其中“镜像来源”选择“平台构建镜像”。

创建镜像构建规则

  1. 成功创建镜像仓库后,页面将自动跳转至该镜像仓库的【镜像构建】页签下。如下图所示:
    说明:

    若尚未开通 CODING DevOps 服务,请参照页面引导完成该服务开通,返回该页面后将正常展示该配置页。

  2. 单击“新建镜像构建规则”,在弹出的“新建镜像构建规则”窗口中参考以下信息,为该镜像仓库配置自动构建镜像及推送。如下图所示:
    • 代码源:镜像构建使用的源代码所在的托管平台,目前已支持 GITHUB、GITLAB、私有GITLAB、GITEE、工蜂、CODING,请按需选择。
      建议 CODING 用户直接在 CODING DevOps 平台内进入镜像构建模块,并使用内置的【构建镜像并推送到 TCR 企业版】模板配置镜像构建。镜像构建服务需要拉取对应源代码,首次使用请先为指定的代码源进行授权,授权后可正常列举代码仓库及分支等信息。如遇源代码授权异常问题,请提交 工单 进行咨询。
    • 代码仓库:指定代码源后,如已完成该代码源授权,可选择在该源代码托管平台下的代码仓库,镜像构建服务触发后将拉取该代码仓库内源代码进行编译及构建。
    • 触发规则:镜像构建被自动触发的规则条件。目前支持以下四种场景:
      • 推送到指定分支触发:需指定分支。
      • 推送新标签时触发构建:新建标签并推送时触发。
      • 推送到分支时触发构建:推送至任意分支时触发,无需指定分支。
      • 符合分支或标签规则时构建:需输入正则表达式,例如 ^refs/heads/master$,可匹配 master 分支进行触发。
    • Dockerfile 路径:镜像构建执行的操作基于代码仓库内的 Dockerfile,需指定该 Dockerfile 文件的路径。如不指定,默认为代码仓库根目录下名为 Dockerfile 的文件。
    • 构建目录:镜像构建执行的工作目录,即上下文环境(context),默认为代码仓库的根目录。
    • 版本规则:定义镜像构建生成的镜像名称,即镜像版本(tag)。支持配置自定义前缀,并组合加入“分支/标签”,“更新时间”,“commit号” 三个环境变量。其中,更新时间为执行 docker tag 指令时构建服务的系统时间。
  3. 单击【确定】即可创建镜像构建规则。

管理镜像构建规则

完成镜像构建规则创建后,即可在该仓库的【镜像构建】页签下查看构建配置及构建日志,如下图所示:

可对当前构建规则进行以下管理操作:

  • 立即构建
    在控制台内手动触发镜像构建,可指定分支或代码版本。
  • 编辑
    可编辑当前的构建规则,创建过程中可配置的参数均可重新编辑。
  • 删除
    删除当前的构建规则。
  • 自动触发
    可开启或关闭该规则的自动触发。当关闭自动触发后,推送代码并符合触发规则也无法触发镜像构建,但仍可使用 "立即构建" 功能进行手动触发。

触发镜像构建并查看构建日志

配置镜像构建规则后,当有符合触发规则的源代码操作时,即可触发自动构建并推送镜像。本文以向 GitHub 内代码仓库指定分支推送新的代码更新为例。如下图所示:

对于已有构建日志,可查看执行详情或删除该日志记录。

异常处理

在使用镜像构建功能时若发生以下异常问题,请参考对应方法重新尝试,若异常仍未解决则请提交 工单 进行咨询。

源代码授权失败

可在“新建镜像构建规则”窗口中再次单击“授权源代码”进行授权,或前往对应的源代码托管平台查看第三方授权,删除 “CODING DevOps” 后再次尝试重新授权。以 GitHub 为例,第三方授权位置为:【Setting】> 【Applications】> 【Authorized OAuth Apps】。

镜像构建失败

可在构建日志中查看该次构建任务的执行详情,并基于执行详情的报错信息进行调整。例如,重新配置镜像构建配置中的参数,或调整 Dockerfile。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
腾讯云代理商
精彩导读
海外云服务器
热门资讯
腾讯云代理商