错误:(由于有条件的,阶段"Deploy to Dev"跳过)在 Jenkins 上



我正在使用Jenkins,我想根据git分支部署我的应用程序。在添加";当";语句,它成功运行,但只要我添加";当";语句,Jenkins成功运行,但返回一个使部署不完整的子句,如下所示:

Stage "Deploy to Dev" skipped due to when conditional
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Deploy to Staging)
[Pipeline] input
Deploy staging deployment?
Proceed or Abort
Approved by admin
Stage "Deploy to Staging" skipped due to when conditional
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Deploy to Production)
[Pipeline] input
Deploy production deployment?
Proceed or Abort
Approved by admin
Stage "Deploy to Production" skipped due to when conditional
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS

此外,开发环境的Jenkins文件部分如下所示:

stage('Deploy to Dev') {
when {branch 'dev'}
environment {
KUBECONFIG = credentials('kubeconfig')
}

steps {
sh 'kubectl --kubeconfig=${KUBECONFIG} --namespace=${DEV_ENVIRONMENT} --record deployment/api set image deployment/api api=wizelinedevops/samuel:${BUILD_NUMBER}' 
}
}
stage('Deploy to Staging') {
when {branch 'dev'}
input{message "Deploy staging deployment?"}
environment {
KUBECONFIG = credentials('kubeconfig')
}
steps {
sh 'kubectl --kubeconfig=${KUBECONFIG} --namespace=${STAGING_ENVIRONMENT} --record deployment/api set image deployment/api api=wizelinedevops/samuel:${BUILD_NUMBER}' 
}
}

stage('Deploy to Production') {
when {branch 'master'}
input{message "Deploy production deployment?"}
environment {
KUBECONFIG = credentials('kubeconfig')
}
steps {
sh 'kubectl --kubeconfig=${KUBECONFIG} --namespace=${PROD_ENVIRONMENT} --record deployment/api set image deployment/api api=wizelinedevops/samuel:${BUILD_NUMBER}' 
}
}

屏幕截图如下:屏幕截图

您必须使用多分支管道,请参阅文档。

branch当正在构建的分支与给定的分支模式(ANT样式的路径glob(匹配时执行阶段,例如:当"master"}。请注意,这仅适用于多分支管道。

相关内容

最新更新