跳到主要内容

Maven 构建

表单介绍

  • JDK 版本号:下拉列表选择合适的 JDK 版本,插件执行时会根据选择的版本初始化 JDK 环境。
  • Maven 版本号:下拉列表选择合适的 Maven 版本,插件执行时会根据选择的版本初始化 Maven 环境。
  • 构建命令:构建命令为用户自定义构建命令,命令执行目录为代码库根路径,支持 ${参数Key} 获取环境变量,注意添加 set -e 可控制脚本命令出错自动退出。
# 功能:打包
# 参数说明:
# -Dmaven.test.skip=true:跳过单元测试
# -U:每次构建检查依赖更新,可避免缓存中快照版本依赖不更新问题,但会牺牲部分性能
# -e -X :打印调试信息,定位疑难构建问题时建议使用此参数构建
# -B:以batch模式运行,可避免日志打印时出现ArrayIndexOutOfBoundsException异常
# 使用场景:打包项目且不需要执行单元测试时使用
mvn clean package -Dmaven.test.skip=true -U -e -X -B

# 功能:自定义settings配置
# 使用场景:如需手工指定settings.xml,可使用如下方式
# 注意事项:如无需自定义settings配置且需要私有依赖仓库,可在该任务配置《私有仓库》处添加私有依赖
# mvn -U clean package -s ./settings.xml
  • 暂存构建物

    • 唯一标识:制品产出的标识,在下游任务可以通过 ${唯一标识} 方式引用来获取构建物。
    • 打包文件/目录:选择制品产出的文件或目录,可以是单个,也可以是多个(这些打包目录规整到一起压缩)。
  • 私有仓库

    • 仓库凭证:可通过添加凭证来管理你的远程依赖仓库,添加凭证请参考Maven Settings凭证配置
    • 仓库类型:release仓库或snapshot仓库
  • 构建缓存

缓存参数支持绝对路径、相对路径两种写法,例如:

  • /root/.m2
  • ~/.m2
  • xxx/xxx 相对于代码库的根目录
  • /root/workspace/xxx

规则说明:

  • 所谓缓存,实质上就是把我们流水线中重复使用的模块,打包上传的S3中存储,当再次触发流水线时,从S3中下载解压缓存文件
  • 只有流水线构建成功,才会上传更新缓存文件
  • 缓存文件默认失效30天
  • 每次触发流水线,可延长缓存失效(即使构建失败)

常用搭配:

镜像构建部署 (单制品)

制品上传部署 (单制品)

镜像构建部署 (多制品)