2015-08-14 53 views
5

我正在使用Jenkins服務器作爲配置項。我正在使用Maven Docker來運行Maven任務。所以這是我的問題和我的疑惑。如何設置運行版本或快照的maven選項

與jenkins我使用maven插件來配置和編譯maven任務。如果我想構建,我運行構建參數,如果我想創建一個快照或版本,我運行執行Maven版本,這裏我可以指定版本。

但是由於我必須使用mvn命令的參數,因此docker更復雜。因此:

如何設置選項以創建發行版或快照版本?

我有我的nexus url和用戶/密碼settings.xml文件,但問題是與docker一起使用它。

我正在使用docker.io/maven圖像。

+0

好的,我想用命令行來做到這一點。我需要自動化發行版和過去,以創建newReleaseVersion和NextSnapShotVersion參數。 – Robert

回答

0

如果您的版本以-SNAPSHOT結尾,它將被Maven自動視爲快照。否則,它被視爲發佈版本。

然後,可能會有其他選項,例如測試,調試,代碼分析等,但如果不熟悉項目就很難知道。

[更新]詹金斯似乎這裏描述做了很多checkings爲發行版:http://labs.bsb.com/2014/02/better-maven-releases-with-jenkins/

+0

嗯,我有一個疑問:在jenkins中,如果使用*** Perform Maven Release ***插件,則可以同時定義:發行版本和快照版本(開發版本)。 – Robert

1

處理的Maven基於版本號的版本和快照,不是基於命令行參數。

有一個maven-release-plugin會自動執行釋放構建所需的工作;但是,在使用它之前,您可能需要一些背景信息。

要「構建發佈版本」,請檢查缺少「-SNAPSHOT」標識的pom.xml(因此您有發行版的源代碼歷史記錄),然後使用「mvn部署「命令(假設你的pom.xml是完全配置的,這可能不是)。然後,您將檢查「下一個」-SNAPSHOT版本,並且每個人都將繼續開發下一個快照版本。

如果這聽起來像很多工作,請記住,所有這些都是通過maven-release-plugin自動完成的。這意味着這項工作只進行一次,而且之後的每個發佈都是自動化的。這可以降低發佈過程中人爲錯誤的可能性,並加快發佈過程的速度。這是值得初步努力設置。

使用「mvn deploy」命令重建非SNAPSHOT號碼是非常令人沮喪的,因爲它使得二進制文件依賴於版本號以及它們的構建時間,最後一點信息沒有被跟蹤。