1

我們正在嘗試爲我們的客戶之一創建CI/CD。我們需要爲svn內的所有項目創建一個CI/CD管道。根據文件夾更改的數量觸發多個jenkins作業

Poll Svn工作將在SVN上進行輪詢,每修改一個小時更改一次。由於我們有一個健壯的文件夾結構,使用python腳本或groovy腳本,我們能夠獲得自上次輪詢以來發生更改的項目數量。

您能否讓我們知道是否可以針對每個更改的項目動態地激發管道中的其餘作業。

eg: trunk --->CICD --> PROJECT1 
        --> PROJECT2 
        --> PROJECT3 
        --> PROJECT4 

如果在項目2和project4變化,流水線作業的其餘部分應被觸發項目2和project4。任何建議都讚賞

回答

1

我們簡單地通過使用參數化構建觸發器並使用參數工廠「調用每個屬性文件的一個構建」選項來實現這一點。

4

我認爲你需要,可以用普通的舊時髦很容易實現(如果我得到你的權利)的內容:

// I'm assuming here you somehow obtained a list of your projects... 
def projects = ['project2', 'project4'] 

for (i = 0; i < projects.size(); i++) { 
    build job: 'some-job-with-params', parameters: [string(name: 'myProject', value: 'project')] 
} 

在這個例子中,我通過「項目」名稱的工作它接受這個參數並對它做些什麼,但它可以是任何你能想到的。

注意我在這裏使用傳統for循環,查看these指南以瞭解原因。

我希望這會幫助你。

+0

它是否仍能確保上游和下游的管道將保持完好? –

+0

不知道你是什麼意思。你能詳細說明嗎? – eyalstoler

相關問題