Jenkins发送邮件、定时执行、持续部署

集成Allure报告只需要配置构建后操作 即可。但如果是web自动化,或是用HTMLTestRunner生成报告,构建后操作要选择Publish HTML reports ,而构建中还要添加Execute system Groovy script插件,内容:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")

不然生成的报告会样式丢失。

Jenkins发送邮件

  • 1安装插件>Email
  • 2获得邮箱客户端密码

这个密码不是登录密码而是POP3/SMTP的授权码,开启的时候需要发短信验证

  • 3系统管理->系统配置/Config System

1)系统管理员邮件

2)Extended E-mail Notification

配置管理员邮箱

3)后缀

默认后缀

4)默认收件人,以英文逗号分隔

默认收件人,以英文逗号分隔

5)邮件主题和内容(附代码)

邮件主题和内容

代码:

Default Subject

【构建通知】$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!

Default Content

python 复制代码
<!DOCTYPE html>

<html lang="en">
<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>
            <font color="red">构建状态:${BUILD_STATUS};下载allure-report.zip到本地后可以通过命令行"allure open 报告路径"进行查看</font>
        </tr>
        <tr>
            <td><br/>
            <b><font color="#0B610B">项目描述:${JOB_DESCRIPTION}<br></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}ws">${PROJECT_URL}ws</a></li>
                    <li>项目  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
                    <li>系统allure测试报告:<a HREF="${PROJECT_URL}${BUILD_NUMBER}/allure">${PROJECT_URL}${BUILD_NUMBER}/allure</a></li>
                </ul>
    </td>
        <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>
        ${JELLY_SCRIPT}
    </table>
</body>
</html>

6)邮件通知

邮件通知

配置好后,可以进行测试

测试

配置job构建后的操作

选择Editable Email Notification插件

删掉只有失败时才会触发发邮件操作,新增Always触发器

去掉失败才触发发邮件操作

新增触发器,选择Always

点击保存。

构建项目,即可收到邮件:

邮件样式

邮件样式可以复制代码以后自己修改,或者自己写代码。

Jenkins定时任务

在job配置中选择构建触发器->定时构建/Build Periodically日程表中写入* * * * *这五个星分别代表分-时-日-月-年,如果要设定每天9:30执行,就写30 9 * * *注意时间是24小时制的,晚上九点就要写21点。

Jenkins持续部署/CD

我们每次需求更新,开发写完代码后要同步到测试服务器,然后进行测试。如果每次都要自己去手动拉去代码然后部署有些麻烦,这时候就可以利用Jenkins进行持续部署,就是我们说的CD。

现在都从GitHub/Gitee拉取代码

我们原来的代码复制 一份,取名DayOneTest(注意:要么您不要操作,如果操作一定要复制代码,也就是备份代码!备份代码!备份代码!

复制来的代码文件

然后修改我们的Jenkins工作空间

然后到配置->源码管理添加Gitee地址

按照Gitee信息填写

点击添加后选择Jenkins

选择代码分支

点击保存。

我们现在执行构建,您会发现,文件夹里的内容被删掉了,变成了Gitee里面的内容。这就是为什么操作之前要备份代码的原因。

目前来看,持续集成CI和持续部署CD比较适合分开成两个job来做,因为每次部署时会删掉原来的代码同步成GitHub/Gitee上最新的代码,这时候进行执行任务会出现有文件丢失的情况出现。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
kaixin_learn_qt_ing1 小时前
Bazel CI
ci/cd
美团测试工程师2 小时前
九大高效的前端测试工具与框架
软件测试·测试工具·jmeter
coder_pig3 小时前
📝小记:Ubuntu 部署 Jenkins 打包 Flutter APK
flutter·ubuntu·jenkins
GPT01239 小时前
大模型日报 2024-12-20
程序人生
测试者家园9 小时前
ChatGPT生成接口文档的方法与实践
软件测试·chatgpt·测试用例·接口测试·接口文档·ai赋能·用chatgpt做软件测试
Heaven64511 小时前
6.8 Newman自动化运行Postman测试集
软件测试·自动化·接口测试·postman·newman
weixin_5375904511 小时前
《Java编程入门官方教程》第八章练习答案
java·开发语言·servlet
十二测试录12 小时前
Python基础——字符串
开发语言·经验分享·python·程序人生·职场发展
测试老哥15 小时前
Python自动化测试图片比对算法
自动化测试·软件测试·python·测试工具·程序人生·职场和发展·测试用例
运维&陈同学18 小时前
【Elasticsearch05】企业级日志分析系统ELK之集群工作原理
运维·开发语言·后端·python·elasticsearch·自动化·jenkins·哈希算法