詹金斯&x2B;Maven-如何在发布前执行shell脚本:perform清理项目
我有一个Maven项目,它使用mvn包上的Maven assembly插件生成一个zip文件詹金斯&x2B;Maven-如何在发布前执行shell脚本:perform清理项目,maven,jenkins,maven-release-plugin,Maven,Jenkins,Maven Release Plugin,我有一个Maven项目,它使用mvn包上的Maven assembly插件生成一个zip文件 MyProy |--pom |--src/... |--target |---MyProy-something-1.0.0-SNAPSHOT-zip (contains /1.0.0-SNAPSHOT/...) 我创建了一个Jenkins作业,并将shell脚本执行配置为post步骤。此脚本将zip复制到文件夹(/something)并将其解压缩 |-/something |---
MyProy
|--pom
|--src/...
|--target
|---MyProy-something-1.0.0-SNAPSHOT-zip (contains /1.0.0-SNAPSHOT/...)
我创建了一个Jenkins作业,并将shell脚本执行配置为post步骤。此脚本将zip复制到文件夹(/something)并将其解压缩
|-/something
|---1.0.0-SNAPSHOT
|---...
这对于构建非常有效。但是,当我发布一个版本时,我也希望这样做。我安装了Jenkins发布插件,并在“配置发布版本”中添加了以下任务:
mvn发布:准备
mvn发布:执行
我看到了
mvn发行版:正确执行execute,例如1.0.0版,但问题是,当启动脚本(3)时,它将应用于下一个开发版本(1.0.1-SNAPSHOT),而不是发行版(1.0.0)。这就是我解决问题的方法:
发布前构建
mvn发布:准备
成功发布构建后
mvn发布:执行
mvc scm:checkout-DscmVersion=${releaseVersion}-DscmVersionType=tag
-f${WORKSPACE}/target/checkout干净安装
通过复制和解压执行shell脚本
总而言之,发布后:执行我签出全新的标记,在下载的标记位置执行一个干净的安装,最后执行复制zip并解压缩它的脚本。何处配置:发布构建后执行shell脚本?