上篇文章中已经将绝大部分,Jenkins容器项目打包的相关功能改造完成了,这里在对构建部署后的告警类操作进行一些补充
1.流水线告警
1.1 安装钉钉插件
image-20250915111108685
1.2 配置钉钉插件
image-20250915111235865
image-20250915111532829
1.3 Pipeline钉钉告警
这里我就把成功构建的通知逻辑写到这里了,因为其他的通知逻辑基本也差不多,没必要全贴出来,大家自己也可以进行改造(另外图中是Jenkins-DingDing这个通知机器人,截图的时候没有截取到下面的BuildBoy通知机器人,你再ID里面添加的那个名字就调用哪个名字)
def createVersion() {
// 创建了一个方法createVersion()
// 定义一个时间戳+构建ID作为版本号,为tag使用
return new Date().format('yyyyMMddHHmmss') + "_${env.BUILD_ID}"
}
pipeline {
agent { node { label "node47"}}
//上章节内容此处胜率
// .......
}
post {
always{
script {
println("流水线结束后,经常做的事情")
}
}
success {
script {
// 检查用户选择的是分支还是标签
if (params.BRANCH_TAG.startsWith("rel-")) {
echo "选择的是标签,不打标签。"
} else if (params.BRANCH_TAG == "master" || params.BRANCH_TAG == "origin/master") {
// 只有在 master 分支时打标签
sh "git tag rel-${_tag}" // 打标签
sh "git push origin rel-${_tag}" // 推送标签到远程
echo "为分支 ${params.BRANCH_TAG} 打标签 rel-${_tag}。"
} else {
echo "当前分支 ${params.BRANCH_TAG} 不是 master,不打标签。"
}
// 构建通知文本
def notificationText = []
notificationText.add("- 成功构建部署: ${JOB_NAME}项目!\n")
notificationText.add("- 版本: ${BRANCH_TAG}\n")
notificationText.add("- 持续时间: ${currentBuild.durationString}\n")
notificationText.add("- 任务: #${JOB_NAME}")
// 根据条件添加标签信息
if (params.BRANCH_TAG == "master" || params.BRANCH_TAG == "origin/master") {
notificationText.add("- 标签: rel-${_tag}\n") // 仅在打标签时添加
}
// 发送成功通知
dingtalk (
robot: 'BuildBoy',
type: 'MARKDOWN',
title: "success: ${JOB_NAME}",
text: notificationText // 直接传递列表
)
}
}
failure{
dingtalk (
robot: 'BuildBoy',
type:'MARKDOWN',
title: "fail: ${JOB_NAME}",
text: ["- 失败构建部署:${JOB_NAME}项目!\n- 版本:${BRANCH_TAG}\n- 持续时间:${currentBuild.durationString}\n- 任务:#${JOB_NAME}"]
)
}
aborted{
dingtalk (
robot: 'BuildBoy',
type:'MARKDOWN',
title: "aborted: ${JOB_NAME}",
text: ["- 流水线被取消:${JOB_NAME}项目!\n- 版本:${BRANCH_TAG}\n- 持续时间:${currentBuild.durationString}\n- 任务:${JOB_NAME}"]
)
}
}
}
今天时间比较赶就写到这里先,如果文章对您有帮助,给我点个赞哦!非常感谢!