淘先锋技术网

首页 1 2 3 4 5 6 7

Jenkins + Python 配置邮箱及触发条件设置

** 环境说明:mac、jenkins2.138、python3


  • 一、新建任务
  • 二、运行shell脚本执行python文件
  • 三、配置邮箱
  • 四、添加附件 < html报告 >
  • 五、设置触发条件
  • 六、错误码及问题排查

一、新建任务
  • 登录jenkins
  • 点击 <新建任务>
  • 任意输入一个 <任务名称>
  • 点击 <构建一个自由风格的软件项目>
    这里写图片描述
二、运行shell脚本执行python文件
  • 点击 <项目>,进入项目配置
  • 点击 <增加构建步骤>,选择 执行shell(window选择:执行windows批处理命令)
  • 输入路径及执行操作命令
    这里写图片描述
    这里写图片描述
三、配置邮箱
  • 编辑Jenkins URL 、系统管理员邮件地址(这个地址要与发件人一致,否则会出现异常)
  • 编辑 < Extended E-mail Notification >
    **这里注意:
    Password和 SMTP port ,有授权码的时候Password是授权码,而不是邮箱密码; SMTP port,分SSL协议和非SSL协议;这些根据不同的邮箱不同设置;
    Default Subject 和 Default Content 默认邮件标题和默认内容格式,支持自定义,这里我拿了一篇网上大神写的模板,大家可以直接复制使用;**
Default Subject:
构建通知:${BUILD_STATUS} - ${PROJECT_NAME} - Build # ${BUILD_NUMBER} !
Default Content :  
<!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>项目名称&nbsp;:&nbsp;${PROJECT_NAME}</li>
                    <li>构建编号&nbsp;:&nbsp;第${BUILD_NUMBER}次构建</li>
                    <li>SVN&nbsp;版本:&nbsp;${SVN_REVISION}</li>
                    <li>触发原因:&nbsp;${CAUSE}</li>
                    <li>构建日志:&nbsp;<a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
                    <li>构建&nbsp;&nbsp;Url&nbsp;:&nbsp;<a href="${BUILD_URL}">${BUILD_URL}</a></li>
                    <li>工作目录&nbsp;:&nbsp;<a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
                    <li>项目&nbsp;&nbsp;Url&nbsp;:&nbsp;<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">构建日志 (最后 行):</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><pre><textarea cols="80" rows="30" readonly="readonly"
                    style="font-family: Courier New">${BUILD_LOG, maxLines=}<pre></textarea>
            </td>
        </tr>
    </table>
</body>
</html>

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述


四、添加附件 < html报告 >
  • #401、生成在Jenkins中的html报告
    • 安装 < HTML Publisher plugin > 插件
      这里写图片描述
    • 安装后重启jenkins,回到项目配置页
    • 点击 <增加构建后操作步骤>,选择Publish HTML reports
      这里写图片描述
    • 填写要添加的HTML报告书地址、文件名等信息
      HTML directory to archive:本机上运行完脚本后生成的测试报告路径,这里可以用绝对路径、也可以用相对路径。
      Index page[s]:report文件夹下生成报告的名称,自己随便取名,保证跟report文件夹下名称一致就行
      Index page title[s] (Optional):报表文件的可选标题,将用作标签名。如果没有提供此文件,将使用文件名;非必填。
      Report title:显示在jenkins上的名称,默认HTML Report就行
      这里写图片描述
      构建成功后,项目页中会生成一个HTML Report栏:
      这里写图片描述
  • #402、生成添加到邮箱的附件
    • 进入项目配置页
    • Editable Email Notification中设置 Attachments
    • 填入路径(绝对路径)
      这里写图片描述
      构建成功后,发送邮件的时候就会添加上路径中的附件:
      这里写图片描述

五、设置触发条件
  • 回到项目配置页
  • 点击 < 增加构建后操作步骤 >,选择Editable Email Notification
  • 编辑 Editable Email Notification
    这里写图片描述
    这里写图片描述
  • 点击 < 高级设置 >,点击 < Add triggers >
    * 这里选择触发条件:构建成功、构建失败、不稳定,总是等等十多种触发条件,根据需要自行选择不同的触发器,发送给不同的人;我这里选择:总是 *
    这里写图片描述
六、错误码及原因排查

SMTP错误码(非常有用):
https://blog.csdn.net/chenfei_5201213/article/details/10138969
163退信码:
http://help.163.com/09/1224/17/5RAJ4LMH00753VB8.html
修改jenkins端口号的方法
https://blog.csdn.net/huazhongkejidaxuezpp/article/details/49275703
_
如果要修改端口,比如7070,执行以下命令修改端口参数:
sudo defaults write /Library/Preferences/org.jenkins-ci httpPort 7070
然后重启jenkins:
sudo launchctl unload -w /Library/LaunchDaemons/org.jenkins-ci.plist
sudo launchctl load -w /Library/LaunchDaemons/org.jenkins-ci.plist