容器镜像构建服务支持从源代码到容器镜像的持续集成能力,具备安全、高并发、稳定、高效等特性。本文介绍如何使用容器镜像企业版构建服务。

背景信息

容器镜像构建服务具备安全、稳定、高效等特性:
  • 安全:镜像构建时,系统会将单个任务派发到全新、独占、环境隔离的机器上执行构建,保障代码、镜像资产的绝对安全。
  • 稳定:由于独占机器资源,单代码仓库多次构建的时间消耗十分稳定。
  • 高效:
    • 系统默认使用高效构建工具BuildKit,具备最强的构建能力(尤其针对多阶段构建场景),支持丰富的构建特性。
    • 系统托管了常用基础镜像。使用这些基础镜像,使构建过程无需进行任何镜像拉取,大大缩减构建时间。
    • 系统使用远程构建缓存来加速构建过程。
      说明 该功能需要在工单系统提交工单申请权限。
容器镜像构建服务支持多种代码托管平台、海外源加速、加速镜像制作等能力:
  • 代码托管平台:支持五种代码托管平台。
    代码平台 版本 限制
    Github 个人版
    GitLab 全部
    阿里云Code 全部 不支持提交代码自动触发镜像构建
    阿里云Codeup 全部
    GitEE 全部
  • 海外源加速:在国内地域进行构建的用户可以开启海外源智能加速能力。构建过程中拉取的海外资源可以使用加速链路,抵御跨域带来的网络问题。
  • 加速镜像制作:系统支持制作按需加载的镜像,支持在普通镜像推送完成后,自动制作加速镜像。具体操作,请参见按需加载容器镜像

步骤一:绑定源代码平台

构建服务前,您需要绑定源代码平台。详细介绍,请参见绑定源代码托管平台

步骤二:创建镜像仓库

创建镜像仓库,并绑定代码仓库,此代码仓库触发的镜像构建都会推送到该镜像仓库下。

  1. 登录容器镜像服务控制台
  2. 在顶部菜单栏,选择所需地域。
  3. 在左侧导航栏,选择实例列表
  4. 实例列表页面单击目标企业版实例。
  5. 在企业版实例管理页面选择仓库管理 > 镜像仓库
  6. 镜像仓库单击创建镜像仓库
  7. 仓库信息配置向导中设置命名空间仓库名称仓库类型镜像版本摘要描述信息,单击下一步
    说明 选中镜像版本右侧的不可变,表示仓库下除latest之外的镜像版本均不可以覆盖,保证容器镜像版本一致性。
  8. 代码源配置向导中设置代码源构建设置构建规则设置,单击创建镜像仓库
    参数 说明
    代码源 选择代码源。
    构建设置
    • 代码变更时自动构建镜像:当分支有代码提交后会自动触发构建规则。
    • 海外机器构建:构建时会在海外机房构建,构建成功后推送到指定地域。
    • 不使用缓存:每次构建时会强制重新拉取基础依赖镜像,可能会增加构建时间。
    构建规则设置 请在仓库创建完成后,前往构建页面设置。具体操作,请参见构建仓库与镜像
    镜像仓库页面单击目标镜像仓库,您可以在镜像仓库管理页面左侧导航栏看到构建,说明镜像仓库和源代码仓库绑定成功。

步骤三:配置构建服务规则

  1. 登录容器镜像服务控制台
  2. 在顶部菜单栏,选择所需地域。
  3. 在左侧导航栏,选择实例列表
  4. 实例列表页面单击目标企业版实例。
  5. 在企业版实例管理页面左侧导航栏,选择仓库管理 > 镜像仓库
  6. 镜像仓库页面单击目标仓库右侧操作列中的管理
  7. 单击左侧导航栏中的构建,在构建规则设置区域单击添加规则,在构建信息配置向导中设置参数,然后单击下一步
    参数 说明
    类型 设置源代码仓库的类型,可以是Branch或Tag。
    Branch/Tag 选择或者填写Branch/Tag,支持正则规则。当正则规则为release-(?<imageTag>\w*)时,将识别release-v1源代码变更并自动构建版本为v1的镜像(不支持立即构建),更多信息,请参见正则表达式命名捕获组
    说明 设置正则规则后仅支持系统自动构建,不支持手动立即构建。
    Dockerfile目录 设置Dockerfile文件所在的目录。指的是相对目录,以代码分支的根目录为父目录。
    Dockerfile文件名 设置Dockerfile文件名,默认为Dockerfile。
  8. 镜像版本配置向导中设置参数,单击保存,然后单击下一步
    说明 单击新增配置,可以增加镜像版本,最多可以设置3个镜像版本。
    参数 说明
    镜像版本 设置镜像Tag,例如latest。支持命名捕获,例如使用Branch/Tag中捕获的内容。
    时间 推送源代码的东八区(UTC+8)时间,有两种格式可供选择,例如20201015和202010151613。
    说明 该参数为可选项,当选中该参数后系统仅支持自动构建,不支持手动立即构建。
    Commit ID 最近一次推送代码的Commit ID,默认取前6位,可以滑动下方的滑块设置位数。
    说明 该参数为可选项,当选中该参数后系统仅支持自动构建,不支持手动立即构建。
  9. 构建配置配置向导中设置构建参数,然后单击确定
    参数 说明
    构建架构 选择构建架构,支持并行构建,最终形成一个镜像版本对应多个架构镜像。
    构建参数 镜像构建运行时参数,构建参数由区分大小写的键值对组成,您最多可以设置20个构建参数。
  10. 触发构建规则。
    您可以通过以下两种方式触发构建规则:
    • 构建页面构建规则设置区域单击目标构建规则操作列的立即构建,触发构建规则。
    • 向代码仓库的master分支提交代码,触发构建规则。
    说明
    • 构建页面构建日志区域单击目标构建任务操作列的取消,可以取消构建任务。
    • 构建页面构建日志区域单击目标构建任务操作列的日志,可以查看构建过程日志。

相关信息

  • 使用海外源加速

    如果您项目的Dockerfile文件需要从国外站点下载文件,但是跨境网络不稳定。可以在构建页面打开海外源智能加速开关(默认关闭)。

  • 使用构建缓存

    在构建页面中,关闭不使用缓存开关(默认关闭),可以加速您的构建过程。