Jenkins运维之路(Jenkins流水线改造Day02-2-容器项目)
上篇文章中已经将绝大部分,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}"])}}
}
今天时间比较赶就写到这里先,如果文章对您有帮助,给我点个赞哦!非常感谢!