如何创建一个在每个分支上执行其阶段,但仅在特定分支上执行构建后操作的管道?
我已经看到了when {branch 'production'}
选项,但在我看来,这只适用于舞台块,而不是post块。有没有办法做一些像
pipeline {
agent { any }
stages {
stage('build') {
steps {
bat script:"echo build"
}
post {
always {
when {
branch 'production'
}
bat script:"echo publish"
}
}
}
}
}
if (env.BRANCH_NAME == 'production')
似乎只适用于脚本化管道
Jenkins管道中的条件post部分有一个答案:在post条件中使用script
和if
。
post {
always {
script {
if (env.BRANCH_NAME == 'production') {
// I have not verified whether your step works here;
// conditional emailext works as expected.
bat script:"echo publish"
}
}
}
}