Jenkins-pipeline流水线构建完钉钉通知

添加钉钉机器人

在钉钉群设置里添加机器人拿出Webhook地址,设置关键词

在这里插入图片描述

Jenkins安装钉钉插件

Dashboard > 系统管理 > 插件管理,搜索构建通知,直接搜索Ding Talk也行

安装DingTalk插件,重启Jenkins

在这里插入图片描述
来到Dashboard > 系统管理

滑到最底下,多了个钉钉(发送钉钉消息)

在这里插入图片描述
设置你的通知时机

日志里的”详细日志“是否勾选都可以,勾上会在详细日志里打印告警信息

在这里插入图片描述
添加机器人信息

在这里插入图片描述

告警通知方式1

修改Jenkinsfile脚本文件

和stages同级,添加post成功和失败都通知

post{success{dingtalk(robot: 'Jenkins_Dingding',type:'MARKDOWN',title: "success: ${JOB_NAME}",text: ["- 成功构建:${JOB_NAME}项目!\n- 版本:${version}\n- 持续时间:${currentBuild.durationString}\n- 任务:#${JOB_NAME}"],)}failure{dingtalk(robot: 'Jenkins-Dingding',type:'MARKDOWN',title: "success: ${JOB_NAME}",text: ["- 失败构建:${JOB_NAME}项目!\n- 版本:${version}\n- 持续时间:${currentBuild.durationString}\n- 任务:#${JOB_NAME}"],)}}

在这里插入图片描述

告警通知方式2(推荐)

直接在pipeline任务设置中添加钉钉机器人,我这只设置了艾特我,多个可以用逗号隔开

此方式可以点击窗口直接跳转到构建页面

支持直接登录Jenkins控制台

支持直接查看更改记录

在这里插入图片描述

构建完通知效果

告警1

在这里插入图片描述

告警2

在这里插入图片描述

Jenkinsfile脚本文件完整内容

//所有脚本命令放在pipeline中
pipeline{//指定任务哪个集群节点执行agent any	//声明全局变量,给后面使用environment{//Harbor地址harbor_addr = '192.168.170.111:80'//仓库名harbor_warehouse = 'monster'//用户名harbor_user = 'admin'//密码harbor_pwd = 'Harbor12345'}stages{stage('拉取Gitlab仓库代码'){steps{checkout scmGit(branches: [[name: '${version}']], extensions: [], userRemoteConfigs: [[url: 'http://192.168.170.111:8888/root/jenkins-cicd-mytest.git']])}}stage('Maven构建项目'){steps{sh '/var/jenkins_home/maven/bin/mvn clean package -DskipTests'}}stage('SonarQube检查代码质量'){steps{sh '/var/jenkins_home/sonar-scanner/bin/sonar-scanner -Dsonar.source=./ -Dsonar.projectname=${JOB_NAME} -Dsonar.projectKey=${JOB_NAME} -Dsonar.java.binaries=target -Dsonar.login=8b2d57757d51a640fa47d90cce47b2d480170093'}}stage('制作自定义Docker镜像'){steps{sh '''mv target/*.jar docker
docker build -t ${JOB_NAME}:$version docker/'''}}stage('推送镜像到Harbor仓库'){steps{sh '''docker login -u ${harbor_user} -p ${harbor_pwd} ${harbor_addr}
docker tag ${JOB_NAME}:${version} ${harbor_addr}/${harbor_warehouse}/${JOB_NAME}:${version}
docker push ${harbor_addr}/${harbor_warehouse}/${JOB_NAME}:${version}'''}}stage('通知目标服务器拉取镜像并启动'){steps{sshPublisher(publishers: [sshPublisherDesc(configName: '应用服务器-170.111', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: "deploy.sh $harbor_addr $harbor_warehouse $JOB_NAME $version $host_port $container_port", execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])}}}post{success{dingtalk(robot: 'Jenkins_Dingding',type:'MARKDOWN',title: "success: ${JOB_NAME}",text: ["- 成功构建:${JOB_NAME}项目!\n- 版本:${version}\n- 持续时间:${currentBuild.durationString}\n- 任务:#${JOB_NAME}"],)}failure{dingtalk(robot: 'Jenkins-Dingding',type:'MARKDOWN',title: "success: ${JOB_NAME}",text: ["- 失败构建:${JOB_NAME}项目!\n- 版本:${version}\n- 持续时间:${currentBuild.durationString}\n- 任务:#${JOB_NAME}"],)}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/549271.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows server 2008 R2共享文件配置和web网站的发布 试题一(Windows部分)

Windows server 2008 R2共享文件配置和web网站的发布 试题一(Windows部分) 设置虚拟机与本机互通设置虚拟机IP关闭虚拟机防火墙设置本机IP测试本机与虚拟机是否可以互通 开启文件共享function discovery resource publication服务的开启SSDP Discovery服…

Python环境下基于机器学习(决策树,随机森林,KNN和SVM)的轴承故障诊断

故障特征提取就是从振动信号中提取时、频域统计特征,并利用能量值、谱峭度、幅值等指标,提取出故障特征集。对故障特征值进行全面准确地提取,是提高诊断精度的关键,也是整个滚动轴承故障诊断过程中较困难的部分。 一些常见的时域…

【Node.js从基础到高级运用】十三、NodeJS中间件高级应用

在现代web开发中,Node.js因其高效和灵活性而备受青睐。其中,中间件的概念是构建高效Node.js应用的关键。在这篇博客文章中,我们将深入探讨Node.js中间件的高级应用,包括创建自定义中间件、使用第三方中间件等。我们将从基础讲起&a…

Django HTML模版

一个网站的基本框架(如页面布局、导航栏、页脚栏等)往往是相同的。可以把这个基本框架做成一个模版,其它正式的HTML页面可以直接套用这个模版,可以大减少各HTML文件的代码量。 语法(模版文件中)&#xff1…

网络编程 - 套接字

1、预备知识 1.1、理解源IP地址和目的IP地址 在IP数据包头部中, 有两个IP地址, 分别叫做源IP地址, 和目的IP地址; 思考: 我们光有IP地址就可以完成通信了嘛? 想象一下发qq消息的例子, 有了IP地址能够把消息发送到对方的机器上, 但是还需要有一个其他的标识来区分…

深度学习-part3(反向传播、GAN)

5. 反向传播 5.1 什么是反向传播?‍ 通俗解释:类比几个人站成一排,第一个人看一幅画(输入数据),描述给第二个人(隐层)……依此类推,到最后一个人(输出&…

【氮化镓】利用Ga2O3缓冲层改善SiC衬底AlN/GaN/AlGaN HEMT器件性能

Micro and Nanostructures 189 (2024) 207815文献于阅读总结。 本文是关于使用SiC衬底AlN/GaN/AlGaN高电子迁移率晶体管(HEMT)的研究,特别是探讨了不同缓冲层对器件性能的影响,以应用于高速射频(RF)应用。…

电商评论数据聚类实验报告

目录 实验目的整体思路数据介绍代码与实验步骤 4.1 爬虫代码 4.2 数据清洗 4.3 分词 4.4 去停用词 4.5 计算TF-IDF词频与聚类算法应用 4.6 生成词云图实验结果 5.1 词云图 5.2 聚类结果分析不足与反思参考资料 1. 实验目的 掌握无监督学习问题的一般解决思路和具体解决办法&…

22款Visual Studio Code实用插件推荐

前言 Visual Studio Code是一个轻量级但功能强大的源代码编辑器,轻量级指的是下载下来的Visual Studio Code其实就是一个简单的编辑器,强大指的是支持多种语言的环境插件拓展,也正是因为这种支持插件式安装环境开发让Visual Studio Code成为…

工控机的无限可能2--智慧城市

一、智能柜 随着网络技术的发展,网购因方便快捷、价格优惠、不受时空限制等优势已成为用户重要的消费方式。快递员因满柜,或柜型单一不能投递,只能将快件堆放在车上或公共过道处苦等,快递、资产管理也随之出现。 如下&#xff0…

如何将OpenCV Java 与Eclipse结合使用

返回目录:OpenCV系列文章目录 上一篇:OpenCV-Java 开发简介 下一篇: 正文: 警告:本教程可以包含过时的信息。 从 2.4.4 版本开始,OpenCV 支持 Java。在本教程中,我将解释如何设置开发环境&a…

杂记8---多线激光雷达与相机外参标定

背景:本人开源的标定程序,提供大家参考学习 基于棋盘格的多线激光雷达和鱼眼/针孔模型相机外参标定的程序 前言 标定数据,只需要一个棋盘格标定板。把标定板放置lidar 与camera 共视区域,拜拍几个pose进行采集。 基于简谐原则…