Jenkins实现CICD之钉钉告警
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
目录
一.Jenkins配置钉钉机器人并测试
1.确保是否安装了DingTalk插件
如上图所示,我已经安装了DingTalk插件。
2.进入钉钉的配置页面
如上图所示,点击“钉钉按钮”就可以进入到钉钉的配置页面。
3.配置通知时机
如上图所示,我们可以配置通知时机。
4.新增机器人
如上图所示,点击"新增"机器人。
5.填写钉钉的webhook及关键字信息
如上图所示,我们可以添加钉钉的webhook信息机钉钉设置的关键字。配置完成后点击"Submit"提交任务。
如下图所示,钉钉测试邮箱成功了?
二.配置钉钉告警
1.获取钉钉告警的通知函数
如上图所示,我们可以获取到钉钉告警的通知。
2.编写Jenkinsfile
// 所有的脚本命令都放在pipeline中
pipeline {
// 指定任务构建在哪个Jenkins节点中执行,any表示任意节点均可。
agent any
// 声明全局变量,方便后续使用
environment {
HarborUsername = 'admin'
HarborPassword = '1'
registry = '10.0.0.250'
project = 'yinzhengjie-devops'
}
// 定义阶段任务列表
stages {
stage('拉取gitee仓库代码'){
steps {
checkout scmGit(branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[url: 'https://gitee.com/jasonyin2020/yinzhengjie-devops-k8s.git']])
}
}
stage('基于Dockerfile构建镜像,镜像名称为Jenkins的job名称,而version为自定义git参数'){
steps {
sh 'docker build -t ${JOB_NAME}:${version} .'
}
}
stage('推送镜像到Harbor仓库'){
steps {
sh '''docker login -u ${HarborUsername} -p ${HarborPassword} ${registry}
docker tag ${JOB_NAME}:${version} ${registry}/${project}/${JOB_NAME}:${version}
docker push ${registry}/${project}/${JOB_NAME}:${version}'''
}
}
}
// 在所有stage步骤做完之后,我们需要配置处理的任务。
post{
// success表示任务构建成功后,需要发送钉钉告警通知。
success {
dingtalk(
// 指定Jenkins中配置钉钉的ID信息。
robot: 'yinzhengjie-Jenkins',
// 指定通知文本的类型为markdown。
type: 'MARKDOWN',
// 配置任务的标题,如果要引用变脸,则需要使用双引号。
title: "success: ${JOB_NAME}",
// 定义文本推送的内容,其中${currentBuild.durationString}在流水线语法中"全局变量参考"有记录。
text: ["- 镜像构建成功: ${registry}/${project}/${JOB_NAME}:${version}\n- 耗时: ${currentBuild.durationString}\n- 详细信息: ${env.BUILD_URL}" ]
)
}
// failure表示任务构建成功后,需要发送钉钉告警通知。
failure {
dingtalk(
robot: 'yinzhengjie-Jenkins',
type: 'MARKDOWN',
title: "failure: ${JOB_NAME}",
text: ["- 镜像构建失败: ${registry}/${project}/${JOB_NAME}:${version}\n- 耗时: ${currentBuild.durationString}\n- 详细信息: ${env.BUILD_URL}" ]
)
}
}
}
3.Jenkins基于Jenkinsfile构建
如上图所示,我们成功告警啦~
本文来自博客园,作者:尹正杰,转载请注明原文链接:https://www.cnblogs.com/yinzhengjie/p/18565324,个人微信: "JasonYin2020"(添加时请备注来源及意图备注,有偿付费)
当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。问问自己,想要怎样的人生。