在我通过管道在Jenkins上的构建工作中,我需要一个依赖于构建状态的构建后步骤。如果工作成功,那就做这个'。否则,请做那个'。
如何使用管道检索构建作业状态,并保存它,例如在环境变量中,在构建后的步骤中使用它?
答案 0 :(得分:1)
在管道顶部定义颜色(易于跟踪成功/失败) 并在阶段后添加帖子操作
def COLOR_MAP = ['SUCCESS': 'good', 'FAILURE': 'danger', 'UNSTABLE': 'danger', 'ABORTED': 'danger']
pipeline {
agent any
options {
ansiColor('xterm')
}
stages {
stage("Build") {
}
stage("Deploy") {
}
} //end of stages
post {
always {
slackSend (color: COLOR_MAP[currentBuild.currentResult], message: "Job: *${env.JOB_NAME}, build #${env.BUILD_NUMBER}* is *`${currentBuild.currentResult}`* \nRun in ${currentBuild.durationString} - <${env.BUILD_URL}|Go to this job>")
}
}
中配置松弛积分
答案 1 :(得分:0)
您可以使用post block根据构建状态执行操作,如下所示:
post {
success {
emailext (
subject: '${DEFAULT_SUBJECT}'+'SUCESSFUL',
body: '${DEFAULT_CONTENT}',
to: '${EMAIL_RECIPIENTS}'
);
slackSend (color: 'good', message: ":csp_operational: ${env.JOB_NAME} - #${env.BUILD_NUMBER} Success (<${env.BUILD_URL}|Open>)");
}
failure {
emailext (
subject: '${DEFAULT_SUBJECT}'+'FAILED!',
body: '${DEFAULT_CONTENT}',
to: '${EMAIL_RECIPIENTS}'
);
slackSend (color: 'danger', message: ":x: ${env.JOB_NAME} - #${env.BUILD_NUMBER} Failure (<${env.BUILD_URL}|Open>)");
}
}