2013-10-28 88 views
68

有沒有辦法更改作業完成後通過電子郵件發送的內部版本號?問題在於產品構建不是由Jenkins完成的,所以我們希望能夠獲得構建編號(即從文本文件)並更新Jenkins中的構建編號以匹配它。我試圖設置內部版本號:更改Jenkins內部編號

set BUILD_NUMBER=45 

但電子郵件仍顯示Jenkins最初設置的內部版本號。

回答

33

可以用插件完成: https://wiki.jenkins-ci.org/display/JENKINS/Next+Build+Number+Plugin

更多信息: http://www.alexlea.me/2010/10/howto-set-hudson-next-build-number.html

,如果你不喜歡的插件:

如果你想通過nextBuildNumber改變版本號從文件,應 「重新加載配置從磁盤」「管理詹金斯「頁面。

+2

無需使用插件。 –

+1

謝謝,你救了我的一天。 –

+1

這個插件很不錯。這很棒。 – AechoLiu

19

下的作業工作區文件夾,如:

C:\Program Files (x86)\Jenkins\jobs\job_name 

有一個名爲nextBuildNumber文件。

在文件中設置內部版本號並從磁盤重新加載配置(Manage Jenkins菜單)會強制開始下一個版本,使文件中的值爲BUILD_NUMBER。

+1

對我無效 – hfossli

+6

在更改nextBuildNumber文件後,您是否從磁盤重新加載配置(Manage Jenkins菜單)? – vezenkov

+0

不!我認爲它是自動發生的。 – hfossli

111

如果你有機會到腳本控制檯(管理詹金斯 - >腳本控制檯),那麼你可以這樣做以下:

Jenkins.instance.getItemByFullName("YourJobName").updateNextBuildNumber(45) 
+5

我可以驗證此作品完美解決問題。我在兩個jenkins服務器之間手動複製了構建歷史記錄,並在新服務器nextBuildNumber上出錯。運行這個允許我設置一個正確的新的nextBuildNumber,不需要重載jenkins config。 –

+1

如果您使用的是GitHub插件,則「YourJobName」爲「organization/repository/branchname」。 – Ruud

+2

作品。該值可以在不使用構建的情況下進行驗證:'Jenkins.instance.getItemByFullName(「YourJobName」)。getNextBuildNumber()' –