跳到主要内容
gitee logo

镜像构建插件文档

表单参数说明

  • 认证方式:推荐选择「仓库凭证」(账号密码 方式后续将逐步下线,不建议使用)。
  • 仓库凭证:选择已配置的镜像仓库认证凭证(需提前在平台添加包含仓库地址、用户名、密码的凭证)。示例:下拉选择“Docker Hub 官方凭证”“私有仓库凭证”等。
  • 镜像 Tag:镜像的标签名称,支持引用流水线全局变量或自定义参数实现动态打标。示例:app:v1.${GITEE_PIPELINE_BUILD_NUMBER}backend:${BUILD_ID}
  • Dockerfile 路径:相对于代码库根目录的 Dockerfile 位置。示例:./Dockerfile./src/main/docker/Dockerfile
  • Context:Docker 构建上下文路径(相对于代码库根目录),不填则默认以代码库根目录为上下文。示例:./target(指定 target 目录为构建上下文)。
  • 拉取上游产出:拉取上游任务的产出物(可配置多个),支持系统参数或直接输入拉取地址;产出物将解压到 Context 目录(无 Context 则解压到代码库根目录)。示例:${BUILD_ARTIFACT}http://example.com/artifact.zip
  • Docker 缓存:开启后使用 buildctl 缓存机制加速构建(默认关闭,关闭时等效于 --no-cache=true)。
  • 镜像架构:指定构建的镜像架构(如 amd64arm64 等)。示例:下拉选择 amd64 适配 x86 服务器,选择 arm64 适配 ARM 架构设备。
  • 构建参数:通过 --build-arg 传递给 Dockerfile 的构建参数,支持键值对配置。示例:JAVA_HOME=/usr/lib/jvm/java-11-openjdkAPP_ENV=prod
  • 产出参数别名:自定义任务输出参数的别名,避免多任务间参数冲突,下游可通过 {参数名} 直接引用。示例:设置别名为 IMAGE_TAG 后,下游可用 {IMAGE_TAG} 获取当前镜像标签。

技术说明(基于 buildctl)

本插件底层基于 buildctl 实现镜像构建,具备以下特性:

  • 构建性能更优,支持增量缓存和并行构建,重复构建时可复用历史层加速。
  • 原生支持多架构镜像构建,通过「镜像架构」参数可直接指定目标架构。
  • 与容器生态深度集成,兼容标准 Dockerfile 语法,同时支持 advanced 构建特性(如缓存挂载、多阶段优化等)。

注意事项

  1. 认证方式迁移账号密码 认证方式计划下线,新流程请优先使用「仓库凭证」,已配置的旧流程需尽快迁移,避免影响使用。
  2. 构建效率优化
    • 将基础依赖(如 JDK、Node 环境)封装到基础镜像,减少 Dockerfile 中可变内容,结合 buildctl 缓存可大幅提升构建速度。
    • 合理设置 Context 路径,仅包含构建必需的文件(避免冗余文件增加上下文传输耗时)。
  3. 上下文路径校验:通过流水线中添加 ls {Context路径} 命令,提前确认上下文目录结构及文件完整性,避免因文件缺失导致构建失败。
  4. 多架构构建建议:如需同时构建多架构镜像,可配置多个插件实例分别指定架构,或通过 buildctl 多架构构建能力批量生成。

常用流程搭配

单镜像构建部署流程

多架构镜像构建流程

带缓存的迭代构建流程