欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-20 13:04:04
...

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

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


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

一、新建任务
  • 登录jenkins
  • 点击 <新建任务>
  • 任意输入一个 <任务名称>
  • 点击 <构建一个*风格的软件项目>
    Jenkins 配置邮箱及触发条件设置
二、运行shell脚本执行python文件
  • 点击 <项目>,进入项目配置
  • 点击 <增加构建步骤>,选择 执行shell(window选择:执行windows批处理命令)
  • 输入路径及执行操作命令
    Jenkins 配置邮箱及触发条件设置
    Jenkins 配置邮箱及触发条件设置
三、配置邮箱
  • 编辑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">构建日志 (最后 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><pre><textarea cols="80" rows="30" readonly="readonly"
                    style="font-family: Courier New">${BUILD_LOG, maxLines=100}<pre></textarea>
            </td>
        </tr>
    </table>
</body>
</html>

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


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

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

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