Jenkins + Python 配置邮箱及触发条件设置
** 环境说明:mac、jenkins2.138、python3
- 一、新建任务
- 二、运行shell脚本执行python文件
- 三、配置邮箱
- 四、添加附件 < html报告 >
- 五、设置触发条件
- 六、错误码及问题排查
一、新建任务
- 登录jenkins
- 点击 <新建任务>
- 任意输入一个 <任务名称>
- 点击 <构建一个自由风格的软件项目>
二、运行shell脚本执行python文件
- 点击 <项目>,进入项目配置
- 点击 <增加构建步骤>,选择 执行shell(window选择:执行windows批处理命令)
- 输入路径及执行操作命令
三、配置邮箱
- 编辑Jenkins URL 、系统管理员邮件地址(这个地址要与发件人一致,否则会出现异常)
- 编辑 < Extended E-mail Notification >
**这里注意:
Password和 SMTP port ,有授权码的时候Password是授权码,而不是邮箱密码; SMTP port,分SSL协议和非SSL协议;这些根据不同的邮箱不同设置;
Default Subject 和 Default Content 默认邮件标题和默认内容格式,支持自定义,这里我拿了一篇网上大神写的模板,大家可以直接复制使用;**
Default Subject:
构建通知:${BUILD_STATUS} - ${PROJECT_NAME} - Build # ${BUILD_NUMBER} !
Default Content :
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>
</head>
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"
offset="0">
<table width="95%" cellpadding="0" cellspacing="0"
style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
<td>(本邮件是程序自动下发的,请勿回复!)</td>
</tr>
<tr>
<td><h2>
<font color="#0000FF">构建结果 - ${BUILD_STATUS}</font>
</h2></td>
</tr>
<tr>
<td><br />
<b><font color="#0B610B">构建信息</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<li>项目名称 : ${PROJECT_NAME}</li>
<li>构建编号 : 第${BUILD_NUMBER}次构建</li>
<li>SVN 版本: ${SVN_REVISION}</li>
<li>触发原因: ${CAUSE}</li>
<li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
<li>构建 Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>
<li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
<li>项目 Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
</ul>
</td>
</tr>
<tr>
<td><b><font color="#0B610B">Changes Since Last
Successful Build:</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<li>历史变更记录 : <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a></li>
</ul> ${CHANGES_SINCE_LAST_SUCCESS,reverse=true, format="Changes for Build #%n:<br />%c<br />",showPaths=true,changesFormat="<pre>[%a]<br />%m</pre>",pathFormat=" %p"}
</td>
</tr>
<tr>
<td><b>Failed Test Results</b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td><pre
style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">$FAILED_TESTS</pre>
<br /></td>
</tr>
<tr>
<td><b><font color="#0B610B">构建日志 (最后 行):</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<!-- <tr>
<td>Test Logs (if test has ran): <a
href="${PROJECT_URL}ws/TestResult/archive_logs/Log-Build-${BUILD_NUMBER}.zip">${PROJECT_URL}/ws/TestResult/archive_logs/Log-Build-${BUILD_NUMBER}.zip</a>
<br />
<br />
</td>
</tr> -->
<tr>
<td><pre><textarea cols="80" rows="30" readonly="readonly"
style="font-family: Courier New">${BUILD_LOG, maxLines=}<pre></textarea>
</td>
</tr>
</table>
</body>
</html>
四、添加附件 < html报告 >
- #401、生成在Jenkins中的html报告
- 安装 < HTML Publisher plugin > 插件
- 安装后重启jenkins,回到项目配置页
- 点击 <增加构建后操作步骤>,选择Publish HTML reports
- 填写要添加的HTML报告书地址、文件名等信息
HTML directory to archive:本机上运行完脚本后生成的测试报告路径,这里可以用绝对路径、也可以用相对路径。
Index page[s]:report文件夹下生成报告的名称,自己随便取名,保证跟report文件夹下名称一致就行
Index page title[s] (Optional):报表文件的可选标题,将用作标签名。如果没有提供此文件,将使用文件名;非必填。
Report title:显示在jenkins上的名称,默认HTML Report就行
构建成功后,项目页中会生成一个HTML Report栏:
- #402、生成添加到邮箱的附件
- 进入项目配置页
- Editable Email Notification中设置 Attachments
- 填入路径(绝对路径)
构建成功后,发送邮件的时候就会添加上路径中的附件:
五、设置触发条件
- 回到项目配置页
- 点击 < 增加构建后操作步骤 >,选择Editable Email Notification
- 编辑 Editable Email Notification
- 点击 < 高级设置 >,点击 < Add triggers >
* 这里选择触发条件:构建成功、构建失败、不稳定,总是等等十多种触发条件,根据需要自行选择不同的触发器,发送给不同的人;我这里选择:总是 *
六、错误码及原因排查
SMTP错误码(非常有用):
https://blog.csdn.net/chenfei_5201213/article/details/10138969
163退信码:
http://help.163.com/09/1224/17/5RAJ4LMH00753VB8.html
修改jenkins端口号的方法
https://blog.csdn.net/huazhongkejidaxuezpp/article/details/49275703
_
如果要修改端口,比如7070,执行以下命令修改端口参数:
sudo defaults write /Library/Preferences/org.jenkins-ci httpPort 7070
然后重启jenkins:
sudo launchctl unload -w /Library/LaunchDaemons/org.jenkins-ci.plist
sudo launchctl load -w /Library/LaunchDaemons/org.jenkins-ci.plist