配置Jenkins通过邮件发送警告

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置Jenkins通过邮件发送警告相关的知识,希望对你有一定的参考价值。

此博客接安装Jenkins持续集成服务环境而做,如有不懂,请访问博文:

一、配置Jenkins通过邮件发送警告

1、Jenkins配置SSH

1)Jenkins服务器生成SSH密钥对

<!--此案例两台服务器,100.10是Jenkins服务器,100.20是客户端-->
<!--自行安装好Jenkins和下载好publish over ssh插件和Email Extension Plugin
插件-->
[root@centos01 ~]# ssh-keygen -t rsa   <!--Jenkins服务器生成ssh密钥-->
[root@centos01 ~]# cat .ssh/id_rsa.pub >> .ssh/authorized_keys  
      <!--将Jenkins自己的公钥输入到公钥配置文件中保存-->
[root@centos01 ~]# ssh-copy-id -i .ssh/id_rsa.pub root@192.168.100.20  
 <!--将Jenkins的ssh公钥拷贝到100.20服务器-->
[root@centos01 ~]# ssh root@192.168.100.20   <!--Jenkins服务器测试免密登录100.20-->

2、Jenkins配置系统添加SSH

1)选择系统设置

技术图片

2)Jenkins获取自己的私钥并复制

[root@centos01 ~]# cat .ssh/id_rsa    <!--查看私钥-->

3)添加Jenkins服务器的私钥

技术图片

4)添加想要远程管理的客户端

技术图片

3、Jenkins添加163邮箱

1)打开Jenkins设置,添加邮箱服务器

技术图片

2)配置邮件通知,发送测试邮件验证是否正常

技术图片

3)登录163邮箱查看是否收到测试邮件

技术图片

4、Jenkins创建新任务

1)创建一个新任务

技术图片

2)设置源码管理

技术图片

3)添加构建后操作

技术图片

4)将Jenkins服务器自己和100.20客户端都添加进来并进行配置

技术图片

技术图片

5)添加构建后操作关联163邮箱

技术图片

技术图片

6)查看是否构建成功

技术图片

7)立即构建

技术图片

8)查看Jenkins服务器pipework是否下载成功

[root@centos01 ~]# cd /tmp/  <!--进入tmp目录-->
[root@centos01 tmp]# ls    <!--查看是否自动创建accp目录-->
accp
akuma6688894331215680472jar
hsperfdata_jenkins
hsperfdata_root
jetty-0_0_0_0-8080-war-_-any-1540444637075332110.dir
jetty-0_0_0_0-8080-war-_-any-4925329859175627632.dir
jna21252815367201186jar
lua_SQXqZm
systemd-private-9d09bb5b9f5b4ffd8c3a65fa0bb96fa5-chronyd.service-vFbZSP
systemd-private-9d09bb5b9f5b4ffd8c3a65fa0bb96fa5-cups.service-AHVikS
systemd-private-9d09bb5b9f5b4ffd8c3a65fa0bb96fa5-vgauthd.service-75jObR
systemd-private-9d09bb5b9f5b4ffd8c3a65fa0bb96fa5-vmtoolsd.service-PBFEqQ
tmp.W114IMXVc4
winstone1052959205009407779.jar
winstone7677488302915714055.jar
[root@centos01 tmp]# cd accp/    <!--进入accp目录-->
[root@centos01 accp]# ls    <!--查看pipework是否下载成功-->
docker-compose.yml  doctoc  LICENSE  pipework  pipework.spec  README.md

9)查看100.20的pipework是否下载成功

[root@centos02 ~]# cd /tmp/    <!--进入tmp目录-->
[root@centos02 tmp]# ls <!--查看benet目录是否自动创建-->
benet     
systemd-private-1f89507ba3a14cafaac65a447ec7b5a9-chronyd.service-4bmE7X
systemd-private-1f89507ba3a14cafaac65a447ec7b5a9-cups.service-pe3QVn
systemd-private-1f89507ba3a14cafaac65a447ec7b5a9-vgauthd.service-9K58TD
systemd-private-1f89507ba3a14cafaac65a447ec7b5a9-vmtoolsd.service-GlsrXi
[root@centos02 tmp]# cd benet/   <!--进入benet目录-->
[root@centos02 benet]# ls    <!--查看pipework是否下载成功-->
docker-compose.yml  doctoc  LICENSE  pipework  pipework.spec  README.md

此时任务构建成功或者是故障都不会发送邮件管理员也不会及时处理问题,接来配置异常告警,然后再配置成功告警

5、配置Jenkins构建任务异常发送告警邮件

1)删除Jenkins和100.20的/tmp/目录下的pipework所有文件

[root@centos01 accp]# rm -rf ./*    <!--删除下载好的pipework所有东西-->
[root@centos02 benet]# rm -rf ./*     <!--删除下载好的pipework所有东西-->

2)将Jenkins服务器的accp目录锁定,任何人没有权限写入数据,当Jenkins服务器下载pipework的时候就会发送异常邮件

[root@centos01 tmp]# chattr +i accp/   <!-锁定accp目录--->

3)Jenkins手动立即构建任务

技术图片

4)Jenkins服务器验证accp目录是什么都没有的

[root@centos01 tmp]# cd accp/    <!--进入accp目录-->
[root@centos01 accp]# ls    <!--查看是否下载,然而并没有数据-->

5)登录163邮箱查收异常邮件

技术图片

6)解锁Jenkins服务器的accp目录

[root@centos01 tmp]# chattr -i accp/    <!--解锁accp目录-->

7)重新构建任务,任务成功不会收到邮件

技术图片

8)Jenkins和100.20查看pipework是否下载成功

[root@centos01 accp]# ls    <!--查看accp目录pipework是否下载-->
docker-compose.yml  doctoc  LICENSE  pipework  pipework.spec  README.md

[root@centos02 benet]# ls    <!--查看benet目录pipework是否下载-->
docker-compose.yml  doctoc  LICENSE  pipework  pipework.spec  README.md

接下来配置任务构建成功也发送邮件通知

6、配置Jenkins构建任务正常发送邮件通知

1)配置系统设置

技术图片

2)配置Jenkins构建任务正常发送邮件通知

技术图片

3)设置消息级别

技术图片

4)将任务关联正常发送邮件

技术图片

5)添加构建后操作

技术图片

技术图片

6)手动立即构建任务

技术图片

7)Jenkins服务器和100.20验证pipework是否下载成功

[root@centos01 accp]# ls 
docker-compose.yml  doctoc  LICENSE  pipework  pipework.spec  README.md

[root@centos02 benet]# ls
docker-compose.yml  doctoc  LICENSE  pipework  pipework.spec  README.md

8)登录163邮箱查看邮件

技术图片

9)Jenkins服务器锁定accp目录

[root@centos01 accp]# rm -rf ./* <!--删除accp目录下所有数据-->
[root@centos01 tmp]# chattr +i accp/ <!--锁定accp目录-->

10)Jenkins手动构建任务,异常正常都会发送邮件通知

技术图片

11)Jenkins服务器查看accp目录是没有东西的

[root@centos01 accp]# ls   <!--然而accp目录并没有数据-->
[root@centos01 accp]#  

12)登录163邮箱查收Jenkins发送的异常邮件

技术图片

二、暴力破解Jenkins管理员密码

1、修改Jenkins密码配置文件,登录密码为abc-123

[root@centos01 ~]# vim /var/lib/jenkins/users/admin_3482934551058146071/config.xml  <!---->
34 <passwordHash>#jbcrypt:$2a$10$PerJswtfjaa6ukA1t0K/ueUK5CI3rjA1.XUx4wCQt88dhihfxObBW</pass        wordHash>
<!--定位到passwordHash将原来的加密密码删除更换成现在的,登录密码为abc-123-->

2、重新启动Jenkins服务

[root@centos01 ~]# /etc/init.d/jenkins restart   <!--重新启动Jenkins-->

3、客户端访问Jenkins的WEB界面

技术图片

4、成功正常访问Jenkins页面

技术图片

———————— 本文至此结束,感谢阅读 ————————

以上是关于配置Jenkins通过邮件发送警告的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins试用总结 ----jenkins自动发送部署邮件

Jenkins设置邮件通知

通过api修改jenkins change

jenkins邮件配置

jenkins邮件配置

Jenkins配置发送邮件