2017-10-18 72 views
1

我在我的管道中使用共享groovy庫。我發現,當我合併到我的圖書館時,使用圖書館的一部分作業(但不是全部)正在被觸發。Jenkins共享groovy庫git merge觸發作業

我查看了共享庫配置並驗證了「包括@Library更改作業最近的更改」是而不是已檢查。我梳理了日誌,尋找線索,我發現隨着合併觸發看似隨機的工作,但我一直無法確定爲什麼這些特定的工作能夠運行。

我目前的想法是/ github-webhook /只是觸發了太多的工作。

我使用詹金斯2.82和常規庫2.9插件 https://wiki.jenkins.io/display/JENKINS/Pipeline+Shared+Groovy+Libraries+Plugin

更多信息: 如果我刪除,這是獲得共享庫引發的工作之一,並重新創建它,然後它會共享庫合併時不再重新生成。在舊的config.xml上運行diff與新的diff不會有太大的幫助。工作流程作業@ $ id和其他插件版本會發生變化,但似乎無關。

回答

0

我有你在你的問題中描述的完全相同的行爲。在我的情況下,禁用和啓用所有作業解決了這個問題。在「腳本控制檯」運行下面的代碼:

for (item in Jenkins.instance.items) { 
    item.disabled = true 
    item.save() 
    item.disabled = false 
    item.save() 
} 
0

共享庫插件,workflow-cps-global-lib,有這樣的修復在2.9版本:

JENKINS-41497 - 允許扣除從更新日誌共享庫(和因此也可以通過全局配置選項 和/或@Library(value =「some-lib @ master」,changelog = false)從SCM輪詢獲得)。

只需在庫或管道級別配置它即可禁用此行爲。