2017-03-13 98 views
0

我有一個Jenkinsfile管道配置和多分支管道指向一個Git存儲庫,(一)。在同一個Jenkinsfile中,我從git倉庫下拉代碼,(B)執行一些獨立的步驟。Jenkins多分支管道觸發構建從多個SCM回購

我想讓詹金斯輪詢A回購 - 每當它發現變化 - 建立它。這是行得通的。

但是,它也是輪詢回購B.當回購B發生變化時(通常是),它會接收變更並開始構建。

我該如何關閉對其他回購的投票?由於

回答

0

使用管道語法片斷髮電機詹金斯我想出了這一點:

checkout poll: false, scm: [$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[]]] 
+0

要檢出回購A,我正在使用'checkout scm'。爲了檢出回購B,我使用'git branch:'production',credentialsId:'00000000-0000-0000-0000-00000000',url:'git @ host:repo.git'' 我不假設我可以在'git branch'中使用poll選項。也許我用git命令拉回購票B做錯了? – FuriousD

+0

我從git分支命令切換到checkout scm(包括poll:false),但當第二個repo(B)提交時仍然觸發提交。 – FuriousD

+0

難道這是一個解決方案,你試圖從管道腳本里面找出哪個版本庫觸發了這個構建,然後只是中止構建以防萬一它是錯誤的呢? –

1

我想這是一個已知的問題。 https://issues.jenkins-ci.org/browse/JENKINS-38508

+0

在我的情況下,我發現我可以在構建過程結束時通過正確清理我的工作區來解決問題。由於沒有什麼可比較的,二級回購B可以檢測到沒有變化。 使用步驟([$ class:'WsCleanup'])進行清理。 – FuriousD

相關問題