jenkins 的邮件通知介绍
本文主要对 jenkins 的邮件通知进行介绍:
- 首先进入系统管理--系统设置
- 找到"系统管理员的邮件配置地址",对管理员的邮件进行配置(邮件发送者)
- 找到“邮件通知”的配置项,这里以QQ邮件服务器为例子
- 点击“Test configuration" ,测试配置是否联通,如果收到以下邮件,证明配置成功了:
- 接下来对构建的项目进行邮件发送验证,这样每次构建后,接收者就能收到相应的邮件了,
PS:不过这种配置只能发送给固定的接收人,并且邮件内容单一,不够自由
二,使用“Email Extension Plugin”插件进行邮件扩展
- 插件安装,进入系统管理-插件管理页面
- 输入“Email Extension Plugin”,查询插件并点击“立即安装”,我这里已经装过了就不在赘述了
- 继续进入“系统管理-系统设置页面”,找到“Extended E-mail Notification”配置模块,在这里配置插件的全局控制(如果需要每个项目进行特殊的配置,在项目配置后添加“构建后操作 选择“”Editable Email Notification”进行配置)
邮件内容模板由于我选的是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>(本邮件是程序自动下发的,请勿回复!)</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">构建日志 (最后 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>
- 至此你也许会问 这不还是用的固定的接收列表嘛 (⊙_⊙) ,别着急 看到右下角的“Advanced Settings”选项没, 继续配置,
在这个选项配置中,你可以根据构建的不同状态选择对应需要接收邮件的接受者
- 构建项目,查看对应的邮件接受者是否正常接收邮件。
BUILD_NUMBER, 唯一标识一次build,例如23;
BUILD_ID,基本上等同于BUILD_NUMBER,但是是字符串,例如2011-11-15_16-06-21;
JOB_NAME, job的名字,例如JavaHelloWorld;
BUILD_TAG, 作用同BUILD_ID,BUILD_NUMBER,用来全局地唯一标识一此build,例如jenkins-JavaHelloWorld-23;
EXECUTOR_NUMBER, 例如0;
NODE_NAME,slave的名字,例如MyServer01;
NODE_LABELS,slave的label,标识slave的用处,例如JavaHelloWorld MyServer01;
JAVA_HOME, java的home目录,例如C:\Program Files (x86)\Java\jdk1.7.0_01;
WORKSPACE,job的当前工作目录,例如c:\jenkins\workspace\JavaHelloWorld;
HUDSON_URL = JENKINS_URL, jenkins的url,例如http://localhost:8000/ ;
BUILD_URL,build的url 例如http://localhost:8000/job/JavaHelloWorld/23/;
JOB_URL, job的url,例如http://localhost:8000/job/JavaHelloWorld/;
SVN_REVISION,svn 的revison, 例如4;