2016-03-18 36 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它。