You need to enable JavaScript to run this app.
导航

镜像构建推送至镜像仓库服务

最近更新时间2024.03.08 11:11:08

首次发布时间2023.10.23 11:22:00

持续交付预置 镜像构建推送至镜像仓库服务 任务,支持通过 Dockerfile 构建容器镜像,并推送至火山引擎的镜像仓库。本文为您介绍该预置任务的使用说明。

使用限制

可构建镜像大小 ≤ 5 G。

前提条件

  • 已开通火山引擎镜像仓库服务。
  • 若推送至标准版实例,请确认已创建标准版实例。具体操作请参见 购买标准版实例
  • 已在镜像仓库创建目标命名空间,具体操作请参见 创建命名空间
  • 已准备构建需要的 Dockerfile 文件。

添加任务

创建或编辑流水线时,在 流程编排 页签,单击 添加任务,弹出 添加任务 抽屉。任务模板选择 镜像构建推送至镜像仓库服务

参数说明

下文为您介绍该预置任务的参数。

  • 任务名称
    默认为镜像构建推送至镜像仓库,支持自定义任务名称。

  • 上游任务
    展示当前任务的上游串行任务名称。无上游任务时展示为-

  • 代码源下载策略
      根据当前任务是否需要使用代码源,选择代码源下载策略。

    • 下载代码:当前任务需要下载代码源。
    • 不下载代码:当前任务无需使用代码源。
  • 步骤
    当前任务包含一个默认预置步骤(镜像构建推送至镜像仓库服务)。支持根据需要为当前任务添加其他串行步骤。下文介绍该默认预置步骤的参数。

配置项说明
步骤名称默认为镜像构建推送至镜像仓库服务,支持自定义步骤名称。

地域

选择要推送的镜像仓库所在的地域。
目前支持的地域请参见 镜像仓库开服地域

说明

由于网络影响,使用公共资源池推送至柔佛地域可能需要较长时间。建议更换为私有资源池推送柔佛任务。

仓库实例

选择要推送的目标仓库实例。支持推送至体验版实例和标准版实例。

说明

火山引擎镜像仓库的基础版实例已更名为体验版实例。为保证服务兼容性,老用户仍可选择 cr-basic 基础版实例,这种情况下,您的镜像实际将被推送至体验版实例的同名仓库。

仓库域名选择该仓库实例使用的域名。

命名空间

配置要推送的目标命名空间。支持选择或直接输入命名空间名称。
直接输入时,支持使用变量$(parameters.变量名)动态设置命名空间。

注意

命名空间必须已存在,否则将推送失败,报错 401 Unauthorized。

OCI制品仓库

配置要推送的目标仓库。支持选择或直接输入 OCI 制品仓库名称。
直接输入时,支持使用变量$(parameters.变量名)动态设置 OCI 制品仓库。如果 OCI 制品仓库不存在,系统将自动创建。

镜像版本

自定义镜像版本号。

  • 支持输入固定值,如 v1.0。

  • 支持使用自定义变量$(parameters.变量名)动态设置版本号。

  • 支持使用系统预置变量时间戳$(DATETIME)实现版本号动态变化。

上述三类支持组合使用,如 test-$(parameters.变量名)$(parameters.变量名)_$(DATETIME)

contextpathdocker build 命令执行上下文路径。填写相对于代码根目录的路径,默认为.

Dockerfile

指定待构建的 Dockerfile 文件。Dockerfile 支持以下配置两种方式。

  • 文件路径:填写 Dockerfile 文件相对于代码库根目录所在路径。

  • 自定义文件:在命令框中输入 Dockerfile 文件内容。

如果您选择构建多架构镜像,需要分别指定每种架构的 Dockerfile。

  • 多架构构建:可选配置。是否开启多架构构建。
    • 关闭:则默认构建 linux/amd64 架构的镜像。

    • 开启:需要进一步勾选具体希望构建的镜像架构。当前支持构建 linux/arm64 和 linux/amd64 两种架构的镜像。

构建参数

使用 docker build 命令构建镜像的过程中,支持指定相关构建参数,定制镜像的构建过程。
场景示例:

  • 使用--target <stage名称>,指定镜像构建的阶段。例如--target hello
  • 使用--build-arg <参数名>=<值>,替换 Dockerfile 中的 ARG 值。例如--build-arg VERSION=1.21.3

说明

  • 支持 docker build 常见参数。
  • 支持按需指定多条构建参数。
  • 指定多条构建参数时,推荐每条构建参数写一行。
  • 构建参数的值支持引用流水线变量。

忽略证书有效性

可选配置。勾选后,当前步骤中的所有内容不再校验 HTTPS 证书有效性。例如:推送/拉取镜像的仓库地址不再校验 HTTPS 证书有效性。

注意

该配置主要适用于仓库使用自签证书不受信的情形。忽略证书有效性涉及安全风险,一般情况下不建议勾选。

开启缓存

默认开启缓存,用于加速镜像构建,解决基础镜像拉取耗时长的问题。

  • 开启缓存:首次镜像构建完成后,系统会生成基础镜像的缓存。后续镜像构建过程中,无需重复拉取相同的基础镜像,可有效缩减镜像构建耗时。
  • 关闭缓存:系统会在构建命令中追加--no-cache,镜像构建过程中,会重新拉取基础镜像,耗时较长。

失败时跳过

可选配置。

  • 开启:当前步骤运行失败直接跳过,当前任务其余步骤可继续执行,流水线也可继续向下运行。

  • 关闭:当前步骤失败后,当前任务其余步骤不再执行,流水线将运行失败。

  • 任务输出
    展示当前任务输出的所有产物,包含当前任务下所有步骤的产物。无产物时展示为-。产物可用于后续任务的输入。
    对于当前默认预置步骤,将输出构建的镜像地址imageOutput_step-xxxx

  • 高级设置

    • 超时时间:以任务维度设置每个步骤的自动超时时间。任一步骤运行超时,将不再执行其他串行步骤,整个任务判定为执行失败。

    说明

    流水线单步骤的默认超时时长为 2 小时。如果您设置了任务的超时时间,则步骤的实际超时时间为两者中更小的时间。
    例如:某任务包含单元测试步骤和代码扫描步骤,该任务的超时时间为 30 分钟,则单元测试步骤和代码扫描步骤的超时时间均为 30 分钟。

    • Webhook 通知:支持通过 Webhook 和飞书机器人两种方式推送任务维度的消息,帮助您及时掌握任务动态。

日志及产物

下文为您介绍该预置任务运行完成后,流水线展示的详情信息。

在当前流水线的运行详情页面,单击镜像构建推送至镜像仓库服务卡片的标题,查看运行日志、产物及任务配置信息。
alt

  • 运行日志:实时展示该任务的运行日志。
  • 任务配置:展示该任务的配置参数,详情可参考前文的参数说明。
  • 产物:运行成功后,镜像构建推送至镜像仓库服务会输出构建成功的镜像地址。