2016-12-05 32 views
1

我期待着瞭解如何最好地處理以下問題。用Jenkinsfile處理變量變量

我有一個Jenkinsfile我的主分支運行類似

node { 
    stage 'Build stage 1' 
    git branch: 'master', credentialsId: '${JENKINS_CREDENTIALS_ID}', url: '[email protected]:application_1' 

    stage 'Build stage 2' 
    git branch: 'master', credentialsId: '${JENKINS_CREDENTIALS_ID}', url: '[email protected]:application_2' 

    stage 'Build stage 3' 
    git branch: 'master', credentialsId: '${JENKINS_CREDENTIALS_ID}', url: '[email protected]:application_3' 


} 

所以它建立3個,所有在此過程中相互連接的單獨的應用程序。

我期望做的是有一種方法,當一個功能分支被創建時,構建需要在每個應用程序的不同分支上運行。雖然這可以手動更改並提交,但當完成任何合併到主數據庫時,該信息仍然存在,然後更改主版本。

有沒有一種有效的方法來處理這種設置?

感謝

回答

0

如果我理解你的需求一些,你要定義一個可以用來建立主分支,或任何其他特性分支構建腳本。

然後,基本思想是使分支成爲構建的參數。您可以爲Jenkins構建作業定義參數,並將這些參數渲染爲管道腳本中的Groovy變量。

您可以將該變量默認爲「master」。

您從任何正在監視存儲庫中提交事件的任務生成構建,並且它會執行「buildWithParameters」Jenkins URL並傳遞分支名稱。

這就是基本的想法。

+0

嗨,我理解與參數的構建,但並不是所有的分支將是相同的名稱,他們可能都是不同的。有任何想法嗎?謝謝 – Richlewis