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 文件。

添加任务

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

参数说明

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

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

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

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

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

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

镜像地址

Docker 镜像待上传的地址,支持 HTTP 和 HTTPS 协议。

  • 地址支持固定 Repository,例如:xxx.com/ns/demo:1.0

  • 地址支持使用动态参数,例如:xxx.com/ns/demo:$(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

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