1. 程式人生 > 程式設計 >Jenkin郵件收發實現原理及過程詳解

Jenkin郵件收發實現原理及過程詳解

一、配置 Jenkins 郵箱的全域性配置

檢查是否已安裝外掛Email Extension Plugin

獲取 qq 郵箱授權碼

進入 qq 郵箱 ---> 設定 ---> 賬戶

Jenkin郵件收發實現原理及過程詳解

Jenkin郵件收發實現原理及過程詳解

Jenkin郵件收發實現原理及過程詳解

配置 jenkins 郵箱的全域性配置:系統管理 - 系統設定 - 完成郵箱

配置 - 測試是否配置正確

Jenkin郵件收發實現原理及過程詳解

Jenkin郵件收發實現原理及過程詳解

Jenkin郵件收發實現原理及過程詳解

Jenkin郵件收發實現原理及過程詳解

<!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 class="table" width="1000" border="1" cellspacing="0" cellpadding="5">
  <caption align="center"><h3>專案構建資訊</h3></caption>
  <thead>
  <tr>
    <th>構建專案-${PROJECT_NAME}</th>
  </tr>
  </thead>
  <tbody>
  <tr>
    <td><font color="#CC0000">構建結果 - ${BUILD_STATUS}</font></td>
  </tr>
  </tbody>
  <tr>
    本郵件由系統自動發出,無需回覆!<br/>
    各位同事,大家好,以下為${PROJECT_NAME}專案構建資訊</br>
  </tr>

  <tr>
    <td><br/>
      <font color="#0B610B">構建報告</font>
      <hr size="2" width="100%" align="center"/>
      <ul>
        <li>構建報告:<a href="${BUILD_URL}allure/" rel="external nofollow" >${PROJECT_URL}allure/</li>
      </ul>
    </td>
  </tr>
  <tr>
    <td><br/>
      <font color="#0B610B">構建資訊</font>
      <hr size="2" width="100%" align="center"/>
      <ul>
        <li>專案名稱: ${PROJECT_NAME}</li>
        <li>構建編號: 第${BUILD_NUMBER}次構建</li>
        <li>觸發原因:${CAUSE}</li>
        <li>構建狀態:${BUILD_STATUS}</li>
        <li>構建日誌:<a href="${BUILD_URL}console" rel="external nofollow" >${BUILD_URL}console</a></li>
        <li>構建 Url: <a href="${BUILD_URL}" rel="external nofollow" >${BUILD_URL}</a></li>
        <li>工作目錄: <a href="${PROJECT_URL}ws" rel="external nofollow" >${PROJECT_URL}ws</a></li>
        <li>專案 Url: <a href="${PROJECT_URL}" rel="external nofollow" >${PROJECT_URL}</a></li>
      </ul>
    </td>
  </tr>
  <tr>
    <td>
      <font color="#0B610B">構建詳細資訊</font>
      <hr size="2" width="100%" align="center"/>
      <ul>
        <li>BUILD_NUMBER: ${BUILD_NUMBER}</li>
        <li>BUILD_DISPLAY_NAME: ${BUILD_DISPLAY_NAME}</li>
        <li>BUILD_ID: ${BUILD_ID}</li>
        <li>JOB_NAME: ${JOB_NAME}</li>
        <li>JOB_BASE_NAME: ${JOB_BASE_NAME}</li>
        <li>BUILD_TAG: ${BUILD_TAG}</li>
        <li>EXECUTOR_NUMBER: ${EXECUTOR_NUMBER}</li>
        <li>NODE_NAME: ${NODE_NAME}</li>
        <li>NODE_LABELS: ${NODE_LABELS}</li>
        <li>WORKSPACE: ${WORKSPACE}</li>
        <li>JENKINS_HOME: ${JENKINS_HOME}</li>
        <li>JENKINS_URL: ${JENKINS_URL}</li>
        <li>BUILD_URL: ${BUILD_URL}</li>
        <li>JOB_URL: ${JOB_URL}</li>
        <li>SVN_REVISION: ${SVN_REVISION}</li>
        <li>SVN_URL: ${SVN_URL}</li>
      </ul>
    </td>
  </tr>
  
  <tr>
    <td>
      <font color="#0B610B">變更資訊:</font>
      <hr size="2" width="100%" align="center"/>
    </td>
  </tr>
  <tr>
    <td>
      <ul>
        <li>
          上次構建成功後變化 : ${CHANGES_SINCE_LAST_SUCCESS,reverse=true,format="%c",changesFormat="<li>%d [%a] %m</li>"}
        </li>
      </ul>
    </td>
  </tr>
  <tr>
    <td>
      <ul>
        <li>上次構建不穩定後變化 : ${CHANGES_SINCE_LAST_UNSTABLE,changesFormat="<li>%d [%a] %m</li>"}
        </li>
      </ul>
    </td>
  <tr>
    <td>
      <ul>
        <li>歷史變更記錄 : <a href="${PROJECT_URL}changes" rel="external nofollow" >${PROJECT_URL}changes</a></li>
      </ul>
    </td>
  </tr>
  <tr>
    <td>
      <ul>
        <li>變更集:${JELLY_SCRIPT,template="html"}</li>
      </ul>
    </td>
  </tr>
  <tr>
    <td><font color="#0B610B">構建日誌 (最後 200行):</font>
      <hr size="2" width="100%" align="center"/>
    </td>
  </tr>
  <tr>
    <td><textarea cols="120" rows="30" readonly="readonly"
           style="font-family: Courier New">${BUILD_LOG,maxLines=200}</textarea>
    </td>
  </tr>
</table>
</body>
</html>

Jenkin郵件收發實現原理及過程詳解

Jenkin郵件收發實現原理及過程詳解

二、構建後操作(一)

增加構建後操作步驟 E-mail Notification

Jenkin郵件收發實現原理及過程詳解

執行構建,檢查郵件是否成功收發

  • 當構建敗時將會發送郵件
  • 當失敗後第一次恢復穩定的構建也會發送郵件
  • 持續穩定後將不會發送郵件

Jenkin郵件收發實現原理及過程詳解

三、構建後操作(二)

  • 增加構建後操作步驟 Editable Email Notification
  • 如果 Jenkins 系統配置中配置了Default Recipients(預設接收人)則下圖中 Recipient List 中不需要輸入收件人郵箱地址

Jenkin郵件收發實現原理及過程詳解

Jenkin郵件收發實現原理及過程詳解

構建後郵件結果如下

Jenkin郵件收發實現原理及過程詳解

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。