2017-01-01 41 views
1

目前正在Jenkins的一個基本部署管道(帶管道)中工作。我正在尋找執行以下操作的最佳方法:有兩個分支的一個Jenkins作業

當開發人員推送到開發分支時,將執行除部署之外的所有階段。 當開發人員推送到主分支時,將執行包括部署在內的所有階段。

我已經閱讀了關於您可以做的匹配模式,但不知道這是否正確,因爲我讀的信息是過時的。

我詹金斯管線檔案

node { 
    stage('Preparation') { 
     git '[email protected]:foo/bar.git' 
    } 
    stage('Build') { 
     sh 'mkdir -p app/cache app/logs web/media/cache web/uploads' 
     sh 'composer install' 
    } 
    stage('Test') { 
     sh 'codecept run' 
    } 
    stage('Deploy') { 
     sh 'mage deploy to:prod' 
    } 
} 

回答

2

這裏沒有魔法。這只是Groovy代碼。範圍內的分支將以某種方式作爲參數提供。在「stage」塊內,添加一個「if」檢查以將分支名稱與您需要的任何邏輯進行比較,並根據分支的範圍來執行或不執行。

相關問題