【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。说明:本人比较懒,代码未更新。但是本地与服务器执行结果一致不影响后续操作
- 1.1:服务器安装git,yum install git
-
2、经过步骤1,代码成功拉取并且在服务器中正确执行,下面就需要在jenkins中构建了
- 2.1:执行本地脚本
- 2.2:拉起git仓库代码,执行
- 验证,先删除服务器work目录,再执行构建
- 验证,先删除服务器work目录,再执行构建
- 2.1:执行本地脚本
-
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插件,前面配置跟上面一步差不多
-
- 4.1:jenkins首页-系统管理-插件管理,可选插件,搜索: Email ,安装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:构建后,邮件自动发送
- 4.3.1:打开我们需要发送邮件的job,配置里面添加构建后的操作
-
5、定时构建