简介
- 【自定义】步骤允许用户在流水线中使用自定义镜像创建容器实例,利用容器完成相关的工作
参数

镜像
- 执行【自定义】步骤时将创建【镜像】的容器实例,可手工填写或点击【选择】按钮选择在云平台”编译”或”上传”的镜像
镜像仓库
- 【镜像】的所属的镜像仓库,若【镜像】所属的仓库无需权限认证则无需配置
添加文件
- 可将外部文件挂载到[镜像]的容器实例的/data/common/file目录下
执行脚本
- 在【镜像】的容器实例中执行的脚本
镜像默认挂载目录
*【镜像】的容器实例默认挂载的目录,需要注意是否会与[镜像]的目录出现冲突
| 挂载目录 | 概述 |
|---|---|
| /data/common | 流水线执行时所有[步骤]的共享目录,项目文件、dockerfile等文件保存在该目录下 |
| /data/repo | maven本地仓库缓存目录 |
示例
- 使用自定义jdk镜像编译java项目
一、编译自定义jdk镜像(已有jdk镜像可跳过此步)
- 左侧导航栏依次点击【模板市场】->【镜像】,进入镜像管理页面
- 点击右侧【创建镜像】

- 在【创建镜像】弹出框中填写【名称】选择【组织】后,点击【提交】按钮

- 提交成功后页面刷新,点击列表中的【镜像名称】进入详情页

- 【代码来源】选择【无】
- 【编译环境】选择【自定义】
- 【镜像类型】选择【自定义】

- Dockerfile内容如下
FROM openjdk:8u342
RUN cd /usr/local/bin/ \
&& wget https://archive.apache.org/dist/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz \
&& tar xvf apache-maven-3.8.8-bin.tar.gz \
&& rm apache-maven-3.8.8-bin.tar.gz
ENV MAVEN_HOME=/usr/local/bin/apache-maven-3.8.8
ENV PATH=$MAVEN_HOME/bin:$PATH- 以openjdk:8u342作为基础镜像,下载maven安装包到镜像中,并解压配置环境变量
- openjdk镜像参考:https://hub.docker.com/_/openjdk/tags
- maven安装包下载地址:https://archive.apache.org/dist/maven/maven-3

- 填写完成后,点击【开始编译】

- 等待编译完成

二、流水线配置
- 以编译一个java项目作为示例,将默认的[代码编译]步骤,替换为[自定义]步骤
- 【代码编译】步骤
- java项目地址:https://gitee.com/niro_chen/JavaTest.git
【代码获取】配置

【自定义】配置
- 镜像
在流水线执行【自定义】步骤时将创建”镜像”的”容器实例”,填写或【选择】您要使用的镜像,示例中使用了在云平台编译的
“自定义jdk镜像” - 镜像仓库
【镜像】的所属的镜像仓库,若拉取【镜像】无需权限认证则无需配置 - 添加文件
将外部文件挂载到【镜像】的”容器实例”中,挂载的目录固定为”/data/common/file”,示例中添加了maven的setting.xml文件 - 执行脚本
[镜像]的”容器实例”启动后,所执行的脚本内容,示例中的脚本内容为进入项目JavaTest的目录,执行mvn命令编译项目,注意项目在”/data/common共享目录”下

【镜像构建】配置
- 【镜像类型】选择【自定义】,在【Dockerfile】中将【自定义】步骤编译生成的jar文件,添加到镜像的/data/appdeploy目录,
注意jar文件的路径,项目JavaTest与Dockerfile处于”同级目录”,都在”/data/common共享目录”下,因此jar文件的路径为”JavaTest/target/xxx.jar”

作者:陈晓东 创建时间:2025-07-15 19:46
最后编辑:陈晓东 更新时间:2026-03-04 17:23
最后编辑:陈晓东 更新时间:2026-03-04 17:23