您的位置:首页 > 其它

利用Jenkins实现系统集成测试的自动运行

2014-09-15 11:07 537 查看


一、背景

公司新上一个J2EE项目,共有5台服务器,利用Nginx实现负载均衡。集成测试代码由本人完成,并通过配置pom文件达到maven命令对集成测试一键启动的支持。但该项目的业务仍处于快速迭代阶段,这种测试方法仍显不够智能。




二、Jenkins环境搭建

1.新申请一台虚拟机,版本为

#cat /proc/version
Linux version 2.6.32-358.el6.x86_64 (mockbuild@c6b8.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) )
2.Jenkins的运行需要JDK环境;由于待测试项目为Maven项目且需要从svn上迁出,因此也有必要安装maven和svn,redhat下的svn可以通过该命令安装
#yum install subversion
3.到Jenkins官网下载war包,通过以下命令启动Jenkins
#java -jar jenkins.war --httpPort=8080



三、Jenkins的配置

1.访问http://10.121.76.200:8080/打开Jenkins管理界面,由于自带邮件功能过于简陋,可通过安装Email
Extension Plugin插件强化邮件发送功能

2.添加项目步骤
A.新建-maven项目
B.源码管理-subversion
C.Build-Goals
and options里面添加具体参数,如
--Dbaseurl=http://10.15.139.168:8080/portal/ test,-D后面的参数表示加入maven环境变量的内容,test代表maven的mvn test 命令;
D.构建后操作-Editable
Email Notification

Project
Recipient List里面填写邮件收件人,格式如下name1@xx.com name2@xx.com name3@xx.com cc:name4@xx.com,cc:后面为抄送人


Content Type里面选HTML

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><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>项目名称 : ${PROJECT_NAME}</li>
<li>构建编号 : 第${BUILD_NUMBER}次构建</li>
<li>SVN 版本: ${SVN_REVISION}</li>
<li>触发原因: ${CAUSE}</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>
</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="    %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><textarea cols="80" rows="30" readonly="readonly"
style="font-family: Courier New">${BUILD_LOG, maxLines=100}</textarea>
</td>
</tr>
</table>
<hr size="2" width="100%" align="center" />
(说明:本邮件由系统自动生成,请勿回复!)
</body>
</html>


E.高级设置里面配置触发器为failed-any,意思是在测试结果出现任何异常的情况下会发送该报警邮件

四、测试结果及报警邮件

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐