freestyle项目的“配置”选项中有“构建后操作”这一步,但是pipeline并没有;而pipeline项目中有“流水线”这一步(用来写Jenkinsfile),但是freestyle没有,但是freestyle可以直接写batch用。
一般我们写Jenkinsfile用比较常见,那么怎么在pipeline中添加“构建后操作”这一选项呢?
答案是在Jenkinsfile中添加post{}
例:
pipeline {
agent any
stages {
stage('Hello') {
steps {
script {
println("Hello world")
}
}
}
}
post {
success {
dingtalk (
robot: "Jenkins",
type:'ACTION_CARD',
atAll: false,
title: "构建成功:${env.JOB_NAME}",
messageUrl: 'xxxx',
text: [
"### [${env.JOB_NAME}](${env.JOB_URL}) ",
'---',
"- 任务:[${currentBuild.displayName}](${env.BUILD_URL})",
'- 状态:<font color=8CE600 >成功</font>',
"- 持续时间:${currentBuild.durationString}".split("and counting")[0],
"- 执行人:${currentBuild.buildCauses.shortDescription}",
]
)
}
}
}
↑在钉钉中添加Jenkins服务器机器人来实时反馈构建信息。
反正,post里的内容基本上就是参照freestyle item里”构建后操作“的内容参数写的。
注:robot那一项填写的是配置时候设定的id。参见 jenkins:集成钉消息通知 那篇文章。