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

构建容器镜像

最近更新时间2024.01.22 17:06:35

首次发布时间2021.12.17 17:53:48

持续交付提供镜像构建推送至镜像仓库服务,支持将代码仓库的源码编译构建为 Go、 Java、Node.js 或 Python 版本的镜像文件,并存储于火山引擎镜像仓库,用于后续的部署任务。

注意事项

编辑任务时,需要根据实际的源码调整 编译命令、contextpath、dockerfile 参数值,配置错误可能导致任务运行失败。

前提条件

  • 镜像仓库
    镜像构建完成后需要推送至指定的仓库进行保存。推送至火山引擎镜像服务仓库保存前,需完成以下准备工作。

    • 已开通火山引擎镜像仓库服务。
    • 若推送至标准版实例,请确认已购买标准版实例,具体操作请参考 购买标准版实例
    • 火山引擎账号已设置仓库实例访问密码,具体操作请参考 设置仓库实例访问凭证
    • 已在镜像仓库创建目标命名空间,具体操作请参见 创建命名空间
  • 持续交付
    使用镜像构建推送至镜像仓库服务任务,需完成以下准备工作。

    • 已创建工作区,详细操作请参见 创建工作区
    • 已创建代码源,详细操作请参见 创建代码源
    • 已准备构建需要的 Dockerfile 文件。

操作步骤

  1. 登录 持续交付控制台

  2. 在左侧导航栏选择 工作区,进入 工作区 页面。

  3. 选择目标工作区名称,进入该工作区。

  4. 单击 创建流水线,弹出 选择流水线模板 对话框。

  5. 选择构建镜像的流水线模板。完成后单击 确定,进入 编辑流水线 页面。

    1. 编程语言:选择构建镜像的编程语言,当前支持 Go、Java、Node.js 及 Python。
    2. 流水线模板:选择镜像构建推送至镜像仓库服务,例如 Go-镜像构建推送至镜像仓库服务。
  6. 配置代码源。
    a. 单击输入源位置,弹出 配置代码源 对话框。
    b. 按要求填写以下参数。

    配置项说明
    类型选择代码仓库类型。根据准备工作中创建的代码源类型选择。
    代码源配置该流水线的代码源。选择准备工作中创建的代码源。
    默认分支默认分支为流水线运行时默认选用的代码仓库分支。支持选择或手动输入。
    Webhook 设置Webhook 设置用于启用代码源触发规则,具体操作请参见 代码源触发 。本示例不启用。

    c. 单击 确定,完成代码源配置。

  7. 配置镜像构建推送至镜像仓库服务。
    a. 配置编译构建步骤。alt

    配置项说明
    步骤名称默认为编译构建,支持自定义步骤名称。

    语言

    选择编译构建使用的语言。
    目前支持 Go、Java、Python、Node.js。

    版本选择编译构建使用的语言版本,不同语言提供不同的预置版本。
    编译命令输入编译命令。命令框中为默认的编译命令,请根据实际业务自行调整。

    b. 配置镜像打包推送至镜像仓库服务。alt

    配置项说明
    步骤名称默认为镜像打包推送至镜像仓库服务,支持自定义步骤名称。
    地域选择要推送的镜像仓库所在的地域。
    仓库实例选择准备工作中已创建的目标仓库实例。
    命名空间选择准备工作中已创建的目标命名空间。
    OCI制品仓库配置要推送的 OCI 制品仓库。如果 OCI 制品仓库不存在,系统将自动创建。

    镜像版本

    自定义镜像版本号。本示例使用${DATETIME}

    • 支持输入固定值,如 v1.0。
    • 支持使用自定义环境变量 ${变量名}动态设置版本号。
    • 支持使用系统预置环境变量时间戳 ${DATETIME}实现版本号动态变化。
      上述三类支持组合使用,如 test-${变量名}${变量名}_${DATETIME}
    contextpathdocker build 命令执行上下文路径。填写相对于代码根目录的路径,默认为.
    多框架构建如果您希望构建 linux/arm64 架构的镜像,或者希望同时构建 linux/arm64 和 linux/amd64 两种架构的镜像,请勾选多框架构建功能的启用框。本示例不启用多框架构建功能,默认构建 linux/amd64 架构的镜像。
    Dockerfile选择文件路径,填写 Dockerfile 文件相对于代码库根目录所在路径,默认为./Dockerfile
    产出物该步骤的产出物为镜像,默认名称为 DockerOutput,支持自定义命名。
    产出物可用于后续部署任务。
  8. 其余页签保持默认配置,单击页面右下角 保存,完成创建流水线。

  9. 运行流水线。

    1. 在流水线列表页面,选择目标流水线,单击 操作 列的 运行 按钮,弹出 运行流水线 对话框。
    2. 按要求填写以下参数。
    配置项说明
    代码源显示该条流水线使用的代码源。
    目标选择流水线拉取代码的方式,支持按照分支、Tag、Commit ID 三种方式拉取代码。此处使用创建流水线时设置的默认分支。
    运行说明添加本次运行的备注信息,可以为空。
    1. 单击 确定,流水线开始运行,系统跳转至该流水线 最近运行详情 页面。

检查结果

流水线运行成功,镜像构建完成并推送至指定镜像仓库地址。如下图所示,镜像构建推送至镜像仓库服务输出本示例推送的镜像地址。
alt
您也可以登录对应的镜像仓库地址进行查看。如下图所示,本示例中构建的镜像已经推送到了指定 OCI 制品仓库。
alt

常见问题

如何通过环境变量设置镜像版本号?

  • 使用自定义环境变量
    创建或编辑流水线时,在 环境变量 页签,设置自定义变量。设置完成后,您可以通过${变量名}的方式设置镜像文件的版本号。详细操作请参考 使用环境变量
  • 使用系统预置环境变量
    持续交付提供DATETIME等预置环境变量,直接通过 ${DATETIME} 形式使用即可。DATETIME可实现版本号跟随时间戳动态变化。更多预置环境变量请参考 系统预置环境变量