1

我想用一個用戶定義的軸(稱之爲「軸」)在Jenkins中設置一個多配置項目。然後,將使用與每個配置關聯的值調用${axis}/pom.xml中的頂級Maven目標。問題是,如果確實存在(${axis}$axis$AXIS${env.axis}全部失敗),我無法找到適當的語法。我認爲這將是shell語法,它似乎不是,但無論它應該是簡單的還是不可能的。可能嗎?Jenkins多配置項目用戶定義的軸環境變量

+0

感謝您的回答 - 我無法快速解決此問題,因此我使用了完全不同的構建框架。 – ajk8

回答

0

我們使用JDK軸,只是使用JDK的名稱,所以我覺得你可以只使用axis/pom.xml

1

${axis}/pom.xml應該在我的工作經驗。

0

您的Jenkins安裝是否在Windows上運行?

對於每個定製軸,都會創建一個環境變量。如果您的服務器運行的是Linux,則可以使用${axis}來引用您的自定義軸,但在Windows上,您必須將其稱爲%axis%

+0

%axis%語法確實在windows批處理命令中有效,但在運行Maven構建時不會解析。軸值作爲系統屬性傳遞給mvn命令(使用-D標誌) –

1

我明白OP已經以不同的方式解決了這個問題, Hudson在Windows和Linux中。

你需要的語法很簡單$axis/pom.xml

我定義的BuildProfile=compile unitTest integrationTest

而且在Maven 3配置的軸(在高級屬性)答:我還沒有在詹金斯試了一下的$BuildProfile/pom.xml

POM文件將所得構建了在控制檯下面的輸出(已編輯爲簡潔起見):

[1.7.0_25] $ C:\用戶... \ BIN \ mvn.bat乾淨安裝-V -B -DBuildProfile =編譯-f 編譯/ pom.xml的

[1.7.0_25 ] $ C:\用戶\ BIN \ mvn.bat乾淨的安裝-V -b -DBuildProfile =單元測試-f 單元測試/ pom.xml的

[1.7.0_25] $ C:\用戶。 .. \ bin \ mvn.bat clean install -V -B -DBuildProfile = integrationTests -f integrationTests/pom.xml