2015-11-03 62 views
1

我想安排一個詹金斯的工作,但只有當新的提交已到SCM作出。或者最好是更靈活的情況:如何運行預定的工作,但只有在另一項工作已經(成功)運行的情況下。如何scedule一個詹金斯工作後,才提交SCM

一個典型使用案例:部署晚上的時間申請,但只有改變已經作出。

+0

也看一看:http://stackoverflow.com/questions/10014252/jenkins-ci-how-to-trigger-builds-on-svn-commit和http://www.andyfrench。 info/2015/03 /自動觸發-jenkins-build.html – java4fun

+0

感謝您的鏈接,但重點不在於在提交後立即運行作業,而是在某個時間後,例如每天一次(或每晚) – digitalfootmark

回答

4

你描述的有些默認的行爲。有兩種方法可以實現它。在作業配置中,您有設置「構建觸發器」。

  • 選擇選項 「查詢源代碼管理」。然後您以與配置cron作業相同的方式給出時間。例如。爲02:00每日上午構建: 0 2 * * * 當沒有發生過自上次創建任何新的承諾沒有構建將被觸發。詹金斯記得這一點。這種方法適用於非常長時間的構建和測試。

  • 在SCM安裝一個構建鉤,並用它一個新的提交正在取得時觸發構建。然後在「構建觸發器」選項中選擇「從外部開始構建(通過腳本)」。在這種情況下,您必須使用構建標記,以便腳本可以對Jenkins API進行身份驗證。如果您希望向提交者提供有關構建結果的相對快速的反饋(例如,任何錯誤或構建失敗進入),則此方法非常有用。

+0

愚蠢的我..我沒有檢查「投票SCM」選項也有投票(!)的計劃時間。 – digitalfootmark

+0

更新版本的Jenkins還有一個「不觸發構建於提交通知」選項,隱藏在SCM配置中,您可以使用該選項獲取存儲庫的提交通知,而且不會觸發構建。 :) – Bombe