概述

[自定义]步骤允许用户在流水线中使用自定义镜像创建容器实例,利用容器完成相关的工作

配置参数


基本参数

参数 概述
镜像 在流水线执行[自定义]步骤时将创建[镜像]的容器实例,可手工填写或点击[选择]按钮选择在云平台”上传”或”编译”的镜像
镜像仓库 [镜像]的所属的镜像仓库,若拉取[镜像]无需权限认证则无需配置
添加文件 可将外部文件挂载到[镜像]的容器实例的/data/common/file目录下
执行脚本 在[镜像]的容器实例中执行的脚本

镜像默认挂载目录

[镜像]的容器实例默认挂载的目录,需要注意是否会与[镜像]的目录出现冲突
挂载目录 概述
/data/common 流水线执行时所有[步骤]的共享目录,项目文件、dockerfile等文件保存在该目录下
/data/repo maven本地仓库缓存目录

示例

使用自定义jdk镜像编译java项目

1、编译自定义jdk镜像(已有jdk镜像可跳过此步)

进入[模板市场]->[镜像],点击[创建镜像]按钮

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

提交成功后页面刷新,点击列表中的[镜像]进入详情页

[代码来源]选择[无][编译环境][镜像类型]选择[自定义]

填写dockerfile
自定义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

填写完成后,点击[开始编译]

镜像编译成功后,可在[镜像版本]中看到

2、流水线配置

以编译一个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
最后编辑:陈晓东  更新时间:2025-08-20 19:18