我們正在將我們的主要構建過程從ant轉換爲maven。我們將TeamCity用於我們的持續集成服務器(CI)。如何在持續集成情況下使用maven在版本庫中安裝版本化工件?
我們希望使用CI服務器來啓動(每晚)版本包含內部版本號的版本,如1.0.0.build#。這些構建將安裝在我們的本地maven倉庫中供其他項目使用。所以CI服務器會管理這些版本,maven會構建這個項目,並且maven倉庫會讓這些構建可以被其他項目訪問。
我打算使用下面的命令來啓動從CI服務器構建:
mvn -Dversion=1.0.0.25 install
項目的POM將有一個虛假的版本號和-D標誌會覆蓋它,如:
<version>0.0.0.0</version>
這種方法的問題是,maven install插件只使用pom文件中的版本,而不是在命令行上傳遞的版本。這在this maven issue中註明。
因此,自從08/2006以來這個問題已經存在,並且還沒有被修復,我認爲這不是'maven way'。所以我的問題是,如何在持續集成的情況下使用maven在版本庫中安裝版本化的工件?