【发布时间】:2021-07-30 20:52:45
【问题描述】:
在这个 Jenkinsfile 中,我试图为 Multibranch Pipeline 中的不同分支执行相同的阶段。我每次都需要配置每个分支名称的环境变量。有没有更好的方法来做到这一点?
stage('Create New AMI for master branch') {
when { branch 'master' }
environment {
BRANCH_NAME = "${env.BRANCH_NAME}"
ENV_NAME = "prod"
}
steps {
sh "packer build jenkins/${PROJECT_NAME}/${PROJECT_NAME}-ami.json"
}
}
stage('Create New AMI for development branch') {
when { branch 'development' }
environment {
BRANCH_NAME = "${env.BRANCH_NAME}"
ENV_NAME = "dev"
}
steps {
sh "packer build jenkins/${PROJECT_NAME}/${PROJECT_NAME}-ami.json"
}
}
stage('Create New AMI for staging branch') {
when { branch 'staging' }
environment {
BRANCH_NAME = "${env.BRANCH_NAME}"
ENV_NAME = "staging"
}
steps {
sh "packer build jenkins/${PROJECT_NAME}/${PROJECT_NAME}-ami.json"
}
}
【问题讨论】:
标签: jenkins continuous-integration jenkins-pipeline jenkins-plugins jenkins-job-dsl