一个Jenkins工作,有2个分支

时间:2017-01-01 21:34:36

标签: jenkins

目前正在Jenkins(带管道)的基本部署管道上工作。我正在寻找以下方法的最佳方式:

当开发人员推送到开发分支时,将执行除部署之外的所有阶段。 当开发人员推送到主分支时,将执行包括部署在内的所有阶段。

我已经阅读过您可以做的匹配模式,但不确定这是否正确,因为我读到的信息已过时。

我的Jenkins管道文件

node {
    stage('Preparation') {
        git 'git@bitbucket.org: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'
    }
}

1 个答案:

答案 0 :(得分:2)

这里没有魔力。这只是Groovy代码。范围中的分支将以某种方式作为参数提供。在“stage”块中,添加一个“if”检查以将分支名称与您需要的任何逻辑进行比较,并执行或不执行主体,具体取决于范围内的分支。