其他
Jenkins Pipeline 使用钉钉通知
直接上pipeline脚本:
// vars/buildAndDeploy.groovy
def call(Map config) {
node {
......
try {
......
} finally {
wrap([$class: 'BuildUser']) {
def user = env.BUILD_USER_ID
if (currentBuild.result == 'SUCCESS') {
dingtalk (
robot: "${dingMap.accessToken}",
type: 'ACTION_CARD',
title: "${env.JOB_NAME} ${currentBuild.displayName}构建成功",
text: [
"### [${env.JOB_NAME}](${env.JOB_URL}) ",
'---',
"- 任务:[${currentBuild.displayName}](${env.BUILD_URL})",
'- 状态:<font color=#00CD00 >成功</font>',
"- 持续时间:${currentBuild.durationString}".split("and counting")[0],
"- 执行人:${user}",
],
)
} else if (currentBuild.result == 'FAILURE') {
dingtalk (
robot: "${dingMap.accessToken}",
type: 'ACTION_CARD',
title: "${env.JOB_NAME} ${currentBuild.displayName}构建失败",
text: [
"### [${env.JOB_NAME}](${env.JOB_URL}) ",
'---',
"- 任务:[${currentBuild.displayName}](${env.BUILD_URL})",
'- 状态:<font color=#EE0000 >失败</font>',
"- 持续时间:${currentBuild.durationString}".split("and counting")[0],
"- 执行人:${user}",
],
)
} else {
echo "${env.JOB_NAME} ${currentBuild.displayName} ${currentBuild.result}"
}
}
withEnv(["QA_EMAIL=${config.QA_EMAIL}"]) {
emailext body: '''${DEFAULT_CONTENT}''', subject: '''${DEFAULT_SUBJECT}''', to: "$QA_EMAIL"
}
}
}
}
效果如下:
老铁,试试吧~
- END -
推荐阅读
漫画解释如何用 Kubernetes 实现 CI/CD
从 0 到 1:中小团队的监控告警成长之路
学习Docker,看这一篇就够了!(收藏版)
K8s为啥要启用bridge-nf-call-iptables内核参数?
DevOps CI/CD流程方案
Kubernetes 故障排查流程图
正确姿势配置 Pod 的 CPU和内存
Kubernetes YAML 学习,提升编写能力
60道常见的 Kubernetes 面试题总结
订阅,一起成长
K8s生态圈
点在看,K8s一年不出问