【Jenkins】使用jenkins自动定时运行自动化脚本并且发送邮件

  • 1、服务器拉取代码,并且执行

    • 1.1:服务器安装git,yum install git
    • 1.2:拉取代码,git clone 地址
    • 1.3:安装依赖包
    • 1.4:设置pytest软链接,ln -s /root/python36/bin/pytest /usr/bin/pytest
    • 1.5:服务器中执行pytest。说明:本人比较懒,代码未更新。但是本地与服务器执行结果一致不影响后续操作
  • 2、经过步骤1,代码成功拉取并且在服务器中正确执行,下面就需要在jenkins中构建了

    • 2.1:执行本地脚本
    • 2.2:拉起git仓库代码,执行

      • 验证,先删除服务器work目录,再执行构建
  • 3、添加allure报告

    • 3.1:安装Allure插件
    • 3.2:系统管理---全局工具配置----新增Allure Commandline
    • 3.3:任务详情界面---配置---构建后操作----Allure Report---路径(输入构建中执行的shell脚本,生成的报告文件路径一致即可)
    • 3.4:立即构建,构建完成后,即可打开allure报告
  • 4、邮件发送

    • 4.1:jenkins首页-系统管理-插件管理,可选插件,搜索: Email ,安装Email Extension Plugin插件
    • 4.2:测试邮箱的配置是否能发送邮件
      • 4.2.1:jenkins首页-系统管理-系统配置页面,先配置系统管路员邮箱地址,也就是发件人的地址

      • 4.2.2:测试邮箱的配置是否能发送邮件,授权码获取:QQ邮箱---设置---POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务---生成授权码---按提示操作,生成

      • 4.2.3:勾选“通过发送测试邮件测试配置”----点击Test configuration

      • 4.2.4:上一步是jenkins系统自带的邮件功能,功能比较少,接着使用Email Extension Plugin插件,前面配置跟上面一步差不多


邮件模板:
<!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>    
            本邮件由系统自动发出,无需回复!<br/>            
            各位同事,大家好,以下为${PROJECT_NAME }项目构建信息</br> 
            <td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></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>构建状态: ${BUILD_STATUS}</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}allure">${PROJECT_URL}allure</a></li>    
                </ul>    

<h4><font color="#0B610B">失败用例</font></h4>
<hr size="2" width="100%" />
$FAILED_TESTS<br/>

<h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
<hr size="2" width="100%" />
<ul>
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
</ul>
详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>
  • 4.3:job配置触发器

    • 4.3.1:打开我们需要发送邮件的job,配置里面添加构建后的操作
    • 4.3.2:设置详情
    • 4.3.3:构建后,邮件自动发送
  • 5、定时构建

posted @ 2024-04-08 22:27  Tony_xiao  阅读(779)  评论(0编辑  收藏  举报