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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
其中的图片可以根据自己喜好自定义,模板来自于网络,基本上是我寻寻觅觅之后在经过自己加工,最好用的了。其中的 Git 版本号,请根据你自己项目所定义的变量进行调整,其他的没什么了!可以直接拷贝使用。
# 3,ok,主配置成功之后,去其中一个项目中进行配置。
进到项目配置当中,去到构建后操作里,添加一项
其他地方不用动,在这里添加收件人,可以是公司的邮件组。
设置添加构建日志。
然后保存,进行构建,发现成功之后就会有邮件发布给配置的相应收件人了。
# 4,批量改配置
是不是 Jenkins 大业已就(配置完整),而现在要一个一个配置,简直蛋疼要死,,额,我还真有一个治疗此蛋疼的办法。
用之前说过的一个批量操作插件。 Configuration Slicing Plugin
安装方式出门左转。
现在直接跳转到主界面去。
选中邮件配置项。
详细配置方法,继续看图学能耐。
ok,就此,打完收功!!
# 2018 年 5 月 10 号补充:
上次配置完成之后,在使用中,发现只有部分项目构建之后发送邮件正常,而有一些项目在构建之后,则没有发送邮件。
报出的问题如下:
原因:这是因为成功的构建之下没有要发送的配置,说白了,就是触发器配置的有问题。
解决办法:
去到项目配置里,往下拉,找到触发器的配置,然后添加 always,就可以了。
上次更新: 2024/07/04, 22:40:37