Jenkins 配置邮箱服务器,发送构建结果
1. 准备工作:
安装 Email Extension插件
选择网易邮箱作为邮箱服务器,开启网易邮箱的SMTP服务:
注意开启服务的时候有个一次性秘钥要保存住,后面配置要用
2. Jenkins后台邮箱服务配置:
3. 测试发送邮件:
4. 结合项目实战测试:
在项目的根目录下新建一个html的邮箱模板文件
<!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>以下为${PROJECT_NAME }项目构建信息</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>触发原因:${CAUSE}</li>
<li>构建状态:${BUILD_STATUS}</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>
<li>SonarQube结果:http://sonar****** </li>
<li>代码覆盖率结果:http://**/job/${PROJECT_NAME}/${BUILD_NUMBER}/jacoco/ </li>
</ul>
</td>
</tr>
<tr>
<td><b><font color="#0B610B">历史变更记录:</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
${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>
</table>
</body>
</html>
修改项目下的Jenkinsfile文件:
pipeline {
agent any
stages {
stage('pull code') {
steps {
checkout([$class: 'GitSCM', branches: [[name: '*/${branch}']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'ee8e68eb-9f03-4950-a9a1-2dc0e0dd4b97', url: 'git@192.168.18.150:mohe_group/web_demo.git']]])
}
}
stage('build project') {
steps {
sh 'mvn clean package'
}
}
stage('publish project') {
steps {
deploy adapters: [tomcat8(credentialsId: 'cb639c69-5b1b-4655-97a7-63333816b7f2', path: '', url: 'http://192.168.18.152:8080/')], contextPath: null, war: 'target/*.war'
}
}
}
post {
always {
emailext (
subject: '构建通知: ${PROJECT_NAME} - Build # ${BUILD_NUMBER} - ${BUILD_STATUS}',
body: '${FILE,path="email.html"}',
to: 'xxx@qq.com'
)
}
}
}
提交文件代码到git仓库
Jenkins构建项目
发送邮件成功