Jenkins配置复杂构建邮件推送
配置功能完善的邮件功能,其实也非常简单,当你把上一个配置文件详解看完了之后。
废话不多说,直奔主题。
首先此功能有赖于第一个简单的邮箱配置项。
就是这张图片:
因为经过我的测试,如果不配置刚刚这条,是无法发邮件成功的。
# 1,首先是绝对的,全局配置,如果不配置此项,放心,绝对有报错等着你。
上边前缀是可以自定义的,这样别人接收到的邮件,就会看到以运维安全部的名义发出的。
如下图:
# 2,进入真正的主配置。
其中邮件模板是这样的:
<!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">
<head>
<STYLE TYPE="text/css">
BODY {
background-image: URL(https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1525328482473&di=79b0b72f1551478d2103cdf9116950cb&imgtype=0&src=http%3A%2F%2Fattach.bbs.miui.com%2Fforum%2F201602%2F15%2F214501jhqfq55gzyupzz2f.png);
background-position: center;
background-repeat: no-repeat;
background-attachment: fixed;
background-size:100% 100%;
}
</STYLE>
</head>
<table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
<td>(本邮件是Jenkins构建项目完成之后自动下发的,请勿回复!)</td>
</tr>
<tr>
<td><h2>
<font color="#20B2AA">构建结果 - ${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>Git 版本: ${branch}</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">构建日志 (最后 100行):</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><textarea cols="80" rows="30" readonly="readonly" style="font-family: Courier New">${BUILD_LOG, maxLines=100}</textarea>
</td>
</tr>
</table></body></html>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
其中的图片可以根据自己喜好自定义,模板来自于网络,基本上是我寻寻觅觅之后在经过自己加工,最好用的了。其中的Git版本号,请根据你自己项目所定义的变量进行调整,其他的没什么了!可以直接拷贝使用。
# 3,ok,主配置成功之后,去其中一个项目中进行配置。
进到项目配置当中,去到构建后操作里,添加一项
其他地方不用动,在这里添加收件人,可以是公司的邮件组。
设置添加构建日志。
然后保存,进行构建,发现成功之后就会有邮件发布给配置的相应收件人了。
# 4,批量改配置
是不是Jenkins大业已就(配置完整),而现在要一个一个配置,简直蛋疼要死,,额,我还真有一个治疗此蛋疼的办法。
用之前说过的一个批量操作插件。 Configuration Slicing Plugin
安装方式出门左转。
现在直接跳转到主界面去。
选中邮件配置项。
详细配置方法,继续看图学能耐。
ok,就此,打完收功!!
# 2018年5月10号补充:
上次配置完成之后,在使用中,发现只有部分项目构建之后发送邮件正常,而有一些项目在构建之后,则没有发送邮件。
报出的问题如下:
原因:这是因为成功的构建之下没有要发送的配置,说白了,就是触发器配置的有问题。
解决办法:
去到项目配置里,往下拉,找到触发器的配置,然后添加always,就可以了。
上次更新: 2024/01/11, 14:21:50