2016-03-18 31 views
0

我有一个生成与Maven的组装插件上MVN包詹金斯+ Maven的 - 如何发布之前执行shell脚本:执行清理项目

MyProy 
|--pom 
|--src/... 
|--target 
    |---MyProy-something-1.0.0-SNAPSHOT-zip (contains /1.0.0-SNAPSHOT/...) 

我创建了一个詹金斯作业的zip文件Maven项目并将外壳脚本执行配置为后续步骤。此脚本将zip复制到一个文件夹(/ something)并解压缩它

|-/something 
    |---1.0.0-SNAPSHOT 
      |---... 

这对于构建工作正常。不过,我想在发布发布时也这样做。我安装詹金斯版本的插件,我添加了这个任务在“配置发布版本”:

  1. 发布版本之前 - > maven任务mvn release:prepare
  2. 成功发行版本后 - > maven任务mvn release:perform
  3. 成功发行版本后 - >执行shell脚本 - 复制zip和解压缩。

我看到mvn release:perform正确执行,例如与1.0.0版本,但问题是,当脚本(3)推出其应用到下一个开发版本(1.0.1-SNAPSHOT)代替发行版本(1.0.0)。

回答

0

这是我如何设法解决的问题:

  1. 发布之前建立

    1. MVN发布:准备
  2. 成功发布版本

    1. MVN发布:执行
    2. MVC SCM:结账-DscmVersion = $ {} releaseVersion = -DscmVersionType标签
    3. -f $ {WORKSPACE} /目标/结帐干净的安装
    4. 执行shell脚本复制并解压缩

综上所述,发行后:执行我签了全新的标签,执行全新安装在下载标签的位置,最后我执行脚本警察ies拉链和unzipes它。