2014-08-27 46 views
3

以下Jenkins文檔jenkins docs 我可以使用POM_VERSION環境變量從pom文件中獲取當前版本。Jenkins「POM_VERSION」變量不會從內部版本重置

但由於某種原因,POM_VERSION環境變量未從構建版本刷新。例如: 我手動更改了版本號,但導出的內部版本號是上一版的最後一個版本號。

從我的Python腳本:

print 'Current version is ' + os.environ['POM_VERSION'] 

這給以下日誌Current version is 0.1.5,這顯然是錯誤的,因爲我改變了它。你還可以看到它在我的Maven版本的目標輸出:

[INFO] 
[INFO] --- versions-maven-plugin:2.1:set (default-cli) @ ep-reporter --- 
[INFO] Searching for local aggregator root... 
[INFO] Local aggregation root: /var/lib/jenkins/jobs/exchange-planner- reporter/workspace 
[INFO] Processing com.exelate:ep-reporter 
[INFO]  Updating project com.company:ep-reporter 
[INFO]   from version 0.1.8 to 0.1.6 
Props: {project.version=0.1.6, project.artifactId=ep-reporter, project.groupId=com.company} 

注意,從0.1.5去,因爲我有它前進的腳本。但maven明確指出,它將其從0.1.8改爲0.1.6,這不是POM_VERSION所說的

謝謝。

回答

1

該環境變量設置爲當時詹金斯第一個讀取您的POM文件。在構建過程中你正在清楚地改變它。

如果您在構建過程中更改它,那麼您的知道您正在更改的內容,並且您應該使用相同的機制以後再顯示它。

+2

我在預構建步驟中所做的第一件事是打印它......並且它總是從前一個構建中前進1個。即使我不把新版本推到混帳或任何東西。 pom版本不會改變。但該變量的確是 – Gleeb 2014-08-27 17:05:24

+2

,我所說的是,從第一次構建到第二次這個變量不再被讀取。即使我手動更改版本,它沒有拿起建造看到的例子:我把它改爲0.1.8由詹金斯拿起是0.1.5(以前的版本是1.0.4我推進它並推) – Gleeb 2014-08-27 21:15:28

+0

@Gleeb我遇到了同樣的問題,如果這有助於另一個數據點。 – kenny 2015-05-01 21:44:50