2017-01-01 42 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”检查以将分支名称与您需要的任何逻辑进行比较,并根据分支的范围来执行或不执行。

相关问题