[英]BitBucket+Jenkins: Trigger build only when specific branch is changed
以下是該問題的聲稱解決方案,雖然它似乎是一種解決方法,而不是一個明確的解決方案。 有沒有辦法,通過作業配置或bitbucket鈎子配置,我可以設置我的工作只有在推送特定分支時運行構建?
發布該問題已經過去了大約一年,我希望有一些插件更新可以在沒有上述鏈接所需的額外工作的情況下實現這一點,或者可能總是有一種簡單的方法,我只是沒有看到。
正如@Ryan泰勒已經說過你可以使用Bitbucket-Plugin:
https:// YOUR.JENKINS.SERVER:PORT / bitbucket-hook
通過這種方式,我有三個構建項目,一個用於所有功能,一個用於開發,一個用於發布分支。
最好的是,您不必為新的Jenkins項目添加新的鈎子。
上面提出的解決方案將比我自己更好,但我不認為Bitbucket插件允許分支特定的觸發器。
從Bitbucket插件文檔中,
在每次提交時,將觸發所有具有“在將更改推送到BitBucket時生成”選項的作業。
這是一種霰彈槍方法,顯然是浪費。
我已經通過將一個小型Web應用程序部署到托管我的jenkins實例的同一個應用程序服務器來解決了這個問題,該實例解析了bitbucket發送的json post內容並選擇性地觸發了分支特定的鈎子。
代碼簡潔易懂,易於修改以滿足您的需求; 但值得注意的是,我沒有着手為其他人創建通用解決方案。 無論它作為一個起點對您有用。
對於相同的場景,我在構建觸發器中使用Poll SCM選項
我們需要在git區域給出ref作為+refs/heads/develop:refs/remotes/origin/develop
。
這里開發的是分支名稱
並且每1分鍾輪詢SCM schedule = */1 * * * *
它只會在開發分支更改時觸發
您應該能夠使用Generic Webhook Trigger插件 。 您可以使用“可選過濾器”功能僅觸發所需的分支。
您將需要擺弄JSONPath,這需要您了解使用Bitbucket的webhook發送的JSON結構。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.