目录
- 前言
- 准备工作
- 正文
- 报错解决
- 结束语
- 参考资料
前言
jenkins支持在构建后发送自定义邮件内容,可以定制触发条件后将邮件内容发送至一人或者多人,本文尽量以图的方式梳理设置流程。
准备工作
- 文件下载地址 密码【kyg4】
- 文件所需目录:java8(可直接配置环境)、jenkins.war(版本:Jenkins ver. 2.204.1)
- 本文可选准备工作 jenkins 更改插件下载镜像地址为国内镜像下载地址
- 前提环境配置:jdk已经安装成功
- 测试环境:jdk8 64位、win10 64位企业版
- 测试类别:tomcat启动/java命令启动[选中]
-
第三选项准备工作为可选准备,如果环境允许可以不更改插件下载地址,直接在分享的文件中下载所需要的jenkins发送email的插件,然后放到jenkins的工作目录即可。本文的jenkins目录所在路径为
-
本文使用的邮箱服务器是qq邮箱,所以请配置邮箱的相关信息,这个授权码在下文中有用到。
正文
- 进入cmd找到jenkins.war所在目录,运行java命令使jenkins.war运行
java -jar jenkins.war
- 浏览器路径输入localhost:8080回车即可,请保证端口号8080未被占用。按照文字描述路径找到发送email的插件是否已经可用。
Manager Jenkins -> Manager Plugins -> Installed
- 先配置测试发送邮件,如果成功则复制到正式环境配置。所以需要关注三个地方就行,对界面不熟悉的可直接复制这三个单词用ctrl+f进行页面查找
1:Jenkins Location 2:E-mail Notification 3:Extended E-mail Notification
-
先配置第一个单词的地方,这个输入框内填入上文准备工作中第8点设置的邮箱
-
配置第二个单词的地方
-
保存后点Test configuration,成功后则可以将配置复制到Extended E-mail Notification
-
再下一步设置邮箱发送的内容, Default Recipients和Reply To List设置一致即可。
Default Subject
构建通知:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!
Default Content
<hr/>
(本邮件是程序自动下发的,请勿回复!)<br/><hr/>
项目名称:$PROJECT_NAME<br/><hr/>
构建编号:$BUILD_NUMBER<br/><hr/>
svn版本号:${SVN_REVISION}<br/><hr/>
构建状态:$BUILD_STATUS<br/><hr/>
触发原因:${CAUSE}<br/><hr/>
构建日志地址:<a href="${BUILD_URL}console">${BUILD_URL}console</a><br/><hr/>
构建地址:<a href="$BUILD_URL">$BUILD_URL</a><br/><hr/>
变更集:${JELLY_SCRIPT,template="html"}<br/><hr/>
-
在MavenBuildProject的选项中找到Post-build Actions,启用发送邮件
-
设置成功后发送邮件,这里可以添加多种情况然后去发送邮箱,这里只设置了一种为build成功后发送邮件
- 保存后构建项目即可
报错解决
- 连接超时
解决办法为请按照准备工作中的第三点更换下载插件地址。 - 如果插件下载成功去检查是否下载成功却一个插件都没有请重启jenkins.war后重新访问。
- 如果出现以下内容
Failed to send out e-mail
com.sun.mail.smtp.SMTPSenderFailedException: 501 mail from address must be same as authorization user
解决办法为上文提到的第一个单词的地方没有设置正确的服务器邮箱地址
- 如果出现以下内容
Failed to send out e-mail
com.sun.mail.smtp.SMTPAddressFailedException: 550 Mailbox not found or access denied
解决办法为请保存上述配置后再测试发送
- 如果出现以下内容
Failed to send out e-mail
javax.mail.AuthenticationFailedException: 535 Error: ÇëʹÓÃÊÚȨÂëµÇ¼¡£ÏêÇéÇë¿´: http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
解决办法之一为请检查授权码和服务器邮箱是否配套以及验证码是否正确
-
如果构建成功但是仍然没有收到邮件请检查以下两个地方收件人是否一致。
结束语
写文章太TM麻烦了