制作镜像并推送到SWR仓库
编译构建默认提供大量构建步骤、模板等,如果已有工具的版本不能满足您的要求,如缺少必要的依赖包、工具等,您可以根据需要根据Dockerfile文件制作镜像并推送至指定的SWR仓库。
本文以Maven构建为例。
前提条件
- 已在容器镜像服务。组织的约束与限制参考容器镜像服务的。
- 已在代码托管服务基于Java Maven Demo模板创建代码仓库,请参见。或有可使用的第三方代码仓库。
- 已自定义构建环境并将对应的Dockerfile文件及制作镜像过程中需要的其他文件上传到代码仓库根目录。
图形化构建
在配置构建步骤中,“Maven构建”步骤后添加“制作镜像并推送到SWR仓库”构建步骤。
“Maven构建”构建步骤参数保持默认即可,“制作镜像并推送到SWR仓库”构建步骤参数配置说明如下:
| 参数项 | 说明 |
|---|---|
| 步骤显示名称 | 构建步骤的名称,可自定义修改。 |
| 工具版本 | 选择工具版本,使用默认版本即可。 |
| 镜像仓库 | 编译构建服务已经默认给出了各区域对应的SWR仓库地址,用户无需更改。 说明: 支持推送到用户自定义镜像仓库。 |
| 授权用户 | 当前用户。请确保当前用户对组织内所有镜像享有编辑或管理权限。 |
| 组织 | 在下拉框中选择前提条件中创建好的组织名。 |
| 镜像名字 | 制作完成后的镜像名称,可自定义。 |
| 镜像标签 | 用来标记镜像的版本,可自定义。通过“镜像名:标签”可以唯一指定镜像。 |
| 工作目录 | docker build命令中的“上下文路径”参数,该路径是CodeArts Repo代码仓库根目录的相对路径。 上下文路径,指的是docker在构建镜像时,docker build命令将该路径下的所有内容打包给容器引擎帮助构建镜像。 |
| Dockerfile路径 | Dockerfile文件所在路径,请填写相对于工作目录的路径,如:工作目录为根目录, 且Dockerfile文件在根目录下,则此处填写为“./Dockerfile”。 |
| 添加构建元数据到镜像 | 将本次构建信息添加到镜像中,镜像制作完成后可以通过docker inspect命令查看镜像元数据。 |
代码化构建
1 2 3 4 5 6 7 8 9 10 11 12 | version: 2.0 # 必须是2.0 steps: BUILD: - build_image: name: buildImage inputs: regions: ["x-x-x", "x-x-xxx"] organization: codeci_test image_name: demo image_tag: ${GIT_COMMIT} dockerfile_path: dockerfile/Dockerfile # set_meta_data: true |
| 参数名 | 参数类型 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|---|
| regions | list | 选择要上传的区域SWR。默认上传到当前任务所在region的SWR。 | 否 | 无 |
| organization | string | 上传到的SWR组织。 | 是 | 无 |
| image_name | string | 镜像名。 | 否 | demo |
| image_tag | string | 镜像标签。 | 否 | v1.1 |
| context_path | string | docker的上下文路径。 | 否 | . |
| dockerfile_path | string | dockerfile文件相对context_path的路径。 | 否 | ./Dockerfile |
| set_meta_data | bool | 是否添加构建元数据到镜像。 | 否 | false |