Jenkins:配置邮箱服务器发送构建结果

在此之前,我们在构建的时候,不管成功还是失败,构建的结果都只是在Jenkins控制台输出。这种方式也不是不可以,但假设我们想知道项目有没有构建,构建的结果是什么,难道我们都要登录Jenkins,然后一个个去看吗?显然不会用这种实用但过于“笨拙”的手法,今天我们说一下如果将构建结果通过邮箱发送给项目负责人。

1. 安装插件

想要将构建结果通过邮箱发送出来,需要安装Email Extension插件。

在这里插入图片描述

2. Jenkins设置邮箱相关参数

  • 设置系统管理员邮件地址

在这里插入图片描述

需要注意的是,邮箱要开启相应的服务:

在这里插入图片描述

还有这里需要发送短信获取授权密码作为后面的密码:

在这里插入图片描述

  • 设置邮件参数

在这里插入图片描述

  • 设置Jenkins默认邮箱信息

在这里插入图片描述

3. 准备邮件内容

在demo项目的根目录编写email.html,并提交到Gitlab,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>触发原因:${CAUSE}</li>
            <li>构建日志:<a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
            <li>构建&nbsp;&nbsp;Url:<a href="${BUILD_URL}">${BUILD_URL}</a></li>
            <li>工作目录:<a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
            <li>项目&nbsp;&nbsp;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="&nbsp;&nbsp;&nbsp;&nbsp;%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>
                <textarea cols="80" rows="30" readonly="readonly" style="font-family: Courier New">${BUILD_LOG,maxLines=100}</textarea>
        </td>
      </tr>
    </table>
</body>
</html>

4. 修改流水线代码

pipeline {
 agent any
 stages {
   stage('拉取代码') {
    steps {
      checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '8a039ab1-9d39-49a2-888b-03dbe9ee60e1', url: 'http://192.168.1.19:82/test-group/demo.git']]])
    }
   }
   stage('编译构建') {
    steps {
      sh label: '', script: 'mvn clean package'
    }
   }
   stage('部署测试') {
       steps {
         echo '部署测试,这是master分支'
       }
   }
 }
 post {
  always {
   emailext(
    subject: '构建通知:${PROJECT_NAME} - Build # ${BUILD_NUMBER} - ${BUILD_STATUS}!',
    body: '${FILE,path="email.html"}',
    to: 'xxx@163.com'
   )
  }
 }
}

5. 构建测试

在这里插入图片描述

——End——
更多精彩分享,可扫码关注微信公众号哦。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值