簡體   English   中英

Jenkins maven-release-plugin

[英]Jenkins maven-release-plugin

在Jenkins(最新),Maven 3.0.x中,我有一個項目(Java源代碼)。

我正在使用M2發布插件,它在Jenkins作業(Jenkins作業的儀表板上的左側窗格)上提供了一個很好的“Perform Maven Release”按鈕。 在場景背后/ Jenkins作業的配置中,它調用: release:prepare release:執行目標。

當我點擊“執行Maven發布”時,它成功完成了工作(從1.0.0-SNAPSHOT構建,如果成功則運行測試&&,對pom.xml進行更改並將版本作為1.0.0作為版本ID,執行更多驗證並對pom.xml進行更改(maven-release-plugin檢查等),在版本控制中提交此更改,在版本控制中將其標記為1.0.0作為“TAG”,再次將pom.xml更改為使用1.0.1-SNAPSHOT並提交它,然后從我們剛剛創建的標記的1.0.0發行版本標簽中簽出,在/ target / checkout文件夾下簽出,構建相關的1.0.0工件(jar / war / pom等)和最后將它部署到你在里面提到的存儲庫......部分。

  <distributionManagement>
   <repository>
     <id>dev-artifactory</id>
         <url>http://1.2.3.15:8081/artifactory/libs-release-local/</url>
   </repository>
   <snapshotRepository>
     <id>dev-artifactory</id>
         <url>http://1.2.3.15:8081/artifactory/libs-snapshot-local/</url>
   </snapshotRepository>
  </distributionManagement>

我需要的是:

1)如果上面的過程生成xxx發布工件並運行一些集成測試,我怎樣才能使“執行Maven發布”過程調用部署到服務器。 這應該在將工件部署到二進制存儲庫(Artifactory / Nexus)之前由maven-release-plugin進程執行。 即如果您將工件放在發布存儲庫中,那么非單元測試也是成功的(並非工件在libs-release-local存儲庫中的Artifactory和Integration測試尚未啟動。

或者我需要更改...以使用libs-snapshot-local(Artifactory存儲庫)然后運行IT測試,最后如果這些測試成功,將1.0.0版本工件從libs-stage-local存儲庫移動到libs-release - 本地存儲庫。

我知道我可以在maven的用戶的.m2 / settings.xml(用戶全局)或M2_HOME / .m2 / settings.xml(全局)中放置與maven-release-plugin相關的設置,但此時,這不是問題。

也許你應該考慮看一下這篇文章: https//pragmaticintegrator.wordpress.com/2014/05/12/running-the-maven-release-plugin-with-jenkins/

使用Jenkins Release插件,您可以自定義發布工作流程,以便在M2發布完成后添加特定步驟。

我們為每個環境(dev,qa,prod)部署了Jenkins。 我們使用Promoted Builds,Copy Artifact和Parameterized Trigger插件在所有環境中移動相同的工件。 要了解它們如何協同工作,請閱讀這篇文章( 如何從Jenkins的另一個工作中提升特定的構建號?

根據發布過程,使用Maven Promote插件( http://java.jiderhamn.se/2016/05/04/announcing-maven-promote-plugin/ )來釋放已構建的工件,而不是Maven Release插件。並測試了(有很多關於maven release插件的缺點的文章)。 您仍然可以使用Jenkins M2 Release Plugin,但在其配置,發布目標和選項中,請調用mvn release:clean promote:prepare release:prepare 有關詳細信息,請訪問: https//github.com/mjiderhamn/promote-maven-plugin/issues/2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM