2014-09-03 55 views
2

我正在嘗試使用以下代碼使用maven pom.xml讀取Jenkins數字。問題在於,構建失敗了,因爲我已經在下面指定了錯誤。我提到了Jenkins給出的官方文件Building a software project。如果我嘗試使用任何文本而不是${BUILD_NUMBER},它會在控制檯中打印,但不會顯示變量。如何使用maven獲取Jenkins內部版本號

POM資料參考:

<profiles> 
    <profile> 
     <activation> 
      <activeByDefault>true</activeByDefault> 
     </activation> 
     <properties> 
      <build.number>${BUILD_NUMBER}</build.number> 
     </properties> 
    </profile> 
</profiles> 

POM系統屬性:

<systemPropertyVariables> 
    <buildnumber>${build.number}</buildnumber> 
</systemPropertyVariables> 

請讓我知道,如果我做錯了什麼。

+1

試試'$ {env.BUILD_NUMBER}' – 2014-09-03 18:28:52

回答

3

我對自己做的一件事是之前調用一些maven命令,如mvn versions:setmvn -N versions:update-child-modules。我的pom文件是x.y.z的版本,所以我讓它們看起來像x.y.z. $ buildnumber。如果你願意,你可以用$ buildnumber來替換它,但是不要忘了maven會更新它,並將它提交給SCM,將次要版本遞增1.你必須在下一個版本中處理這個。

請注意,${BUILD_NUMBER}是bash上的envvar(我可以在我的bash腳本中獲得它),而不是maven變量。

而且如此處所述:How to refer environment variable in POM.xml?,你可以做${env.variable_name}

+0

感謝大家我現在可以通過使用Maven獲得Jenkins內部版本號。我將它作爲系統參數在maven中使用,並且正在獲取內部版本號。 – 2014-09-08 12:50:34

+0

如果這個答案解決了這個問題,請接受這個問題是正確的,以便有類似問題的其他人也能找到解決方案。最好。 – Lovato 2014-09-08 12:54:59

相關問題