2016-03-26 105 views
1

我想添加一些非常基本的功能存在於其他每一個現代ci產品,但不幸的是,似乎是詹金斯土地上的一個完全外國概念。重試Jenkins構建觸發git推到任意分支

我將github插件連接起來,並將git插件設置爲構建「origin/master」的「反向」,以便推送除master之外的任何分支都會觸發構建。

問題是,如果有片狀測試並且構建失敗,則無法在jenkins中重新啓動它。我添加了Naginator插件,但它重建了運行的最後一個分支,而不是您單擊「重試」的構建分支。使用Naginator插件,似乎我需要將git分支或sha作爲構建的真實參數。但是,我無法找到一種方法將git分支設置爲生成觸發時的參數。

我能想到的唯一的事情就是將它分成兩個鏈接到同一個git倉庫的版本,並且第二個是參數化版本,第一個版本以GIT_COMMIT值作爲參數觸發。然後,用Naginator重試第二個應該在同一個SHA上重試它。儘管這不是一個好的解決方案,但是我不得不爲每個構建配置2個構建版本。

有誰知道一個很好的方法來完成這個?我希望我只是想念一些簡單的東西。

回答

0

不幸的是我不熟悉這個確切的設置,但是Git plugin documentation,從倉庫部分推送通知,提到的是,在觸發URL,該<commit ID是可選的。如果設置,它將立即觸發構建,而不會輪詢的更改。

如果在某個插件中有一個內置的「按鈕」來從jenkins UI手動發佈這個內容,我不知道,如果不是這可能是一個很好的功能請求。

因此,如果真的沒有容易的選擇aviable但作爲一種解決方法,你可以編寫自己的腳本,建立並調用給定的分支+提交ID的URL。

觸發URL格式,如Git Plugin docs發現:

curl http://yourserver/git/notifyCommit?url=<URL of the Git repository>&branches=branch1[,branch2]*][&sha1=<commit ID>]

相關問題