通过容器镜像服务的云原生应用交付链功能,您可以自由组合镜像构建、镜像扫描、镜像全球同步和镜像分发等任务,提供全链路可观测、可追踪、安全防护能力。本文介绍如何创建交付链,从而实现一次提交,全球分发、扫描和部署。

步骤一:配置交付链的基本信息

  1. 登录容器镜像服务控制台
  2. 在顶部菜单栏,选择所需地域。
  3. 在左侧导航栏,选择实例列表
  4. 实例列表页面单击目标企业版实例。
  5. 在企业版实例管理页面左侧导航栏中选择云原生交付链 > 交付链
  6. 交付链列表页面左上角,单击创建交付链
  7. 创建交付链页面,输入以下信息。
    • 交付链名称:设置交付链的名称。
    • (可选)交付链描述:设置交付链的基本描述。
    • 交付链作用范围:分别选择命名空间以及该命名空间下的镜像仓库。

步骤二:配置交付链的镜像构建规则

  1. 在交付链的导览区域,单击镜像构建,然后单击添加规则
  2. 构建规则设置区域单击添加规则,在构建信息配置向导中设置参数,然后单击下一步
    参数 说明
    类型 设置源代码仓库的类型,可以是Branch或Tag。
    Branch/Tag 选择或者填写Branch/Tag,支持正则规则。当正则规则为release-(?<imageTag>\w*)时,将识别release-v1源代码变更并自动构建版本为v1的镜像(不支持立即构建),更多信息,请参见正则表达式命名捕获组
    说明 设置正则规则后仅支持系统自动构建,不支持手动立即构建。
    Dockerfile目录 设置Dockerfile文件所在的目录。指的是相对目录,以代码分支的根目录为父目录。
    Dockerfile文件名 设置Dockerfile文件名,默认为Dockerfile。
  3. 镜像版本配置向导中设置参数,单击保存,然后单击下一步
    说明 单击新增配置,可以增加镜像版本,最多可以设置3个镜像版本。
    参数 说明
    镜像版本 设置镜像Tag,例如latest。支持命名捕获,例如使用Branch/Tag中捕获的内容。
    时间 推送源代码的东八区(UTC+8)时间,有两种格式可供选择,例如20201015和202010151613。
    说明 该参数为可选项,当选中该参数后系统仅支持自动构建,不支持手动立即构建。
    Commit ID 最近一次推送代码的Commit ID,默认取前6位,可以滑动下方的滑块设置位数。
    说明 该参数为可选项,当选中该参数后系统仅支持自动构建,不支持手动立即构建。
  4. 构建信息配置向导中设置参数,然后单击下一步
    参数 说明
    类型 设置源代码仓库的类型,可选值为Branch或Tag。
    Branch/Tag 选择或者填写Branch/Tag,支持正则规则。当正则规则为release-(?<imageTag>\w*) 时,将识别release-v1源代码变更并自动构建版本为v1的镜像(不支持立即构建),更多信息,请参见正则表达式命名捕获组
    说明 设置正则规则后仅支持系统自动构建,不支持手动立即构建。
    Dockerfile目录 设置Dockerfile文件所在的目录。指的是相对目录,以代码分支的根目录为父目录。
    Dockerfile文件名 设置Dockerfile文件名。
  5. 构建配置配置向导中设置构建参数,然后单击确定
    参数 说明
    构建架构 选择构建架构,支持并行构建,最终形成一个镜像版本对应多个架构镜像。
    构建参数 镜像构建运行时参数,构建参数由区分大小写的键值对组成,您最多可以设置20个构建参数。

步骤三:配置交付链的安全扫描规则

通过配置交付链的安全扫描,可以确保镜像同步和分发的安全性。

  1. 在交付链的导览区域,单击安全扫描
  2. 节点配置区域,设置阻断规则。
    • 阻断:需要设置由漏洞等级漏洞个数所构成的阻断规则。

      当满足阻断规则时,镜像版本将停止执行后续步骤。

    • 不阻断:所有的镜像版本在不阻断的情况下,都会继续执行后续步骤。

步骤四:配置交付链的镜像同步规则

通过配置同步规则,可以在企业版实例之间根据规则自动同步更新的镜像版本。

  1. 在交付链的导览区域,单击触发同步,然后单击新建规则
  2. 新建规则对话框中,输入规则名称,并配置目标实例,然后单击下一步
    • 如果已存在目标实例,请选择所在地域和该地域下所需的企业版实例。
    • 如果不存在目标实例,单击新建实例。更多信息,请参见创建企业版实例
    说明 在不开启公网的场景下,支持镜像的跨域自动同步。
  3. 同步信息的配置向导中,配置源实例的同步信息。然后单击创建同步规则
    参数 说明
    同步级别 选择同步级别,支持按照命名空间和仓库进行同步。
    来源地址 选择命名空间和仓库名称,输入仓库版本过滤的正则规则,默认为所有版本。仅设置同步级别仓库时,需要选择特定的源仓库。

步骤五:配置交付链的分发触发器

通过配置分发触发器,可以为部署的应用创建一个重新部署的触发器,从而实现应用的自动部署。

  1. 在交付链的导览页面,单击分发触发器,然后单击创建
  2. 创建触发器对话框配置参数,然后单击确定
    参数 说明
    名称 设置触发器名称。
    触发器URL 输入在ACK获取的触发器URL。具体步骤,请参见使用容器镜像触发器自动更新应用
    触发方式 设置触发方式,支持以下3种触发方式:
    • 全部触发:只要镜像版本有更新,就会触发触发器。
    • 表达式触发:基于正则表达式来进行镜像版本的过滤,只有当符合正则表达式的镜像版本才会触发触发器。
    • Tag触发:基于镜像版本列表来进行镜像版本的过滤,只有镜像版本在设置的镜像版本列表中才会触发触发器。
  3. 创建交付链页面左下角单击创建并返回列表

执行结果

在交付链的配置页面中,可以查看到新创建的交付链。

当代码仓库提交更新之后,在交付链实例的页面可以查看到各个步骤的运行状态和结果,最终可以在Kubernetes集群中查看到镜像被成功更新。