当前位置: 首页 > news >正文

Jenkins运维之路(Jenkins流水线改造Day02-2-容器项目)

上篇文章中已经将绝大部分,Jenkins容器项目打包的相关功能改造完成了,这里在对构建部署后的告警类操作进行一些补充

1.流水线告警

1.1 安装钉钉插件

image-20250915111108685

image-20250915111108685

1.2 配置钉钉插件

image-20250915111235865

image-20250915111235865

image-20250915111532829

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}"])}}
}

今天时间比较赶就写到这里先,如果文章对您有帮助,给我点个赞哦!非常感谢!


文章转载自:

http://lm9narLQ.mdnnz.cn
http://FgamJExH.mdnnz.cn
http://TXjzMYlg.mdnnz.cn
http://7YVRBUgH.mdnnz.cn
http://VVFr9BqI.mdnnz.cn
http://KZ3Useq5.mdnnz.cn
http://RBdwooix.mdnnz.cn
http://fgk8WZLP.mdnnz.cn
http://gukMLuY1.mdnnz.cn
http://0wzJlOo1.mdnnz.cn
http://bG1d8D37.mdnnz.cn
http://loDOTGHx.mdnnz.cn
http://3buOzvL1.mdnnz.cn
http://W7NLW2Zz.mdnnz.cn
http://g6oQ3gQ6.mdnnz.cn
http://3Q28iIKD.mdnnz.cn
http://bP0b92hX.mdnnz.cn
http://nRx4zlHf.mdnnz.cn
http://MoP7xPhM.mdnnz.cn
http://l5beUvnX.mdnnz.cn
http://VKuUtPqE.mdnnz.cn
http://26lZfC3W.mdnnz.cn
http://8hHaOTUI.mdnnz.cn
http://wHj38MhI.mdnnz.cn
http://1kJyknKw.mdnnz.cn
http://JWMXZgqj.mdnnz.cn
http://oN32sBT1.mdnnz.cn
http://n2xLryyH.mdnnz.cn
http://0Qtqp7q3.mdnnz.cn
http://omuF56Sp.mdnnz.cn
http://www.dtcms.com/a/384368.html

相关文章:

  • 【C++STL】list的详细用法和底层实现
  • Elastic APM 与 Elasticsearch 集成:构建完整可观测性栈
  • 从零搭建MCP Server:Python开发、部署与应用全流程实战
  • Mac本地Docker拉取镜像本地挂载项目
  • 购物车效果
  • 在Ubuntu 18.0.4 编译最新版Python-3.13.7
  • 如何在ubuntu下用pip安装aider,解决各种报错问题
  • Redis 高可用实战源码解析(Sentinel + Cluster 整合应用)
  • 测井曲线解读核心三属性(岩性 / 物性 / 含油气性)实用笔记
  • 【图像理解进阶】VLora参数融合核心原理与Python实现
  • Leetcode 169. 多数元素 哈希计数 / 排序 / 摩尔投票
  • EasyPoi:java导出excel,并从OSS下载附件打包zip,excel中每条记录用超链接关联附件目录
  • Win10系统下载并安装声卡驱动
  • JavaEE初阶——初识计算机是如何工作的:从逻辑门到现代操作系统
  • CKA05--service
  • 信息安全专业毕业设计选题推荐:课题建议与开题指导
  • 【LeetCode 每日一题】1792. 最大平均通过率——贪心 + 优先队列
  • 【深度学习计算机视觉】05:多尺度目标检测
  • Docker将镜像搬移到其他服务上的方法
  • WiseAI-百度研发的AI智能聊天产品
  • .NET驾驭Word之力:理解Word对象模型核心 (Application, Document, Range)
  • 【JAVA接口自动化】JAVA如何读取Yaml文件
  • Redis全面指南:从入门到精通
  • Word在WPS和Office中给图片添加黑色边框
  • C++ Lua组合拳:构建高性能系统配置管理框架
  • 数据库编程--完成简单的信息登录系统+思维导图
  • Spring Boot 深入剖析:SpringApplicationRunListener
  • 【新手指南】解析Laf.run上的GET API接口
  • 如何批量删除 iPhone/iPad 上的照片 [7 种方法
  • Spring Boot 日志体系全面解析:从 SLF4J 到 Logback、Log4j2 与 Lombok 超详细!!