目前正在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'
}
}
答案 0 :(得分:2)
这里没有魔力。这只是Groovy代码。范围中的分支将以某种方式作为参数提供。在“stage”块中,添加一个“if”检查以将分支名称与您需要的任何逻辑进行比较,并执行或不执行主体,具体取决于范围内的分支。