简介

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

参数

镜像

  • 执行【自定义】步骤时将创建【镜像】的容器实例,可手工填写或点击【选择】按钮选择在云平台”编译”或”上传”的镜像

镜像仓库

  • 【镜像】的所属的镜像仓库,若【镜像】所属的仓库无需权限认证则无需配置

添加文件

  • 可将外部文件挂载到[镜像]的容器实例的/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

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

  • 等待编译完成

二、流水线配置

  • 以编译一个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