最近在研究selenium2自动化测试,用到持续化集成jenkins。由于之前仅限于使用,而没有真正动手配置过,所以现在学习从零开始,搭建持续化集成,故而有了这篇博客。
先介绍一下项目持续集成测试,这个测试会每天定时执行自动化构建项目(包括编译、发布、自动化测试),从而尽早发现项目持续集成中的错误。在自动化领域引进持续集成,主要是为了每天的定时构建,自动执行自动化项目下的所有用例,然后发送测试报告给相关人员,可以通过邮件查看项目的测试成功率,以便上级掌握项目稳定情况。
分为系统配置,就是以下内容;单个构建项目配置:http://www.cnblogs.com/yajing-zh/p/5111060.html;执行构建和查看结果:http://www.cnblogs.com/yajing-zh/p/5111503.html;
谈到编译,就有源码,既然有源码就应该有版本控制器git,这样jenkins也好从git上拿取最新的代码,进行编译。故先安装git。
下载链接:https://yunpan.cn/cun4qU86PSzYs (提取码:6dbc),建议安装时直接加入到path路径中:
继而安装jenkins,安装包地址https://yunpan.cn/cun4GxQFKHQ9i (提取码:eaa4),安装完成之后会自动打开jenkins主页,地址默认为:http://localhost:8080/。为了让jenkins可以自动编译,构建等,所以需要安装git插件、发送邮件的插件和maven插件等。
打开系统管理
点击"管理插件"->"可选插件",在"过滤"输入框中输入:
Git Plugin: 管理git,定时构建项目
Email Extension Plugin: 发送邮件扩展工具
Maven Integration plugin: 执行maven命令的图形化交互性插件
点击"下载待重启后安装"按钮,下载页面:
等三个插件下载完成,在地址栏输入:http://localhost:8080/restart 重启jenkins服务。在安装过程中假如出现一下error,可不用理会,那是连接google失败,不影响插件的安装。
插件装好,重启完jenkins之后要进行相关插件的配置,进入"系统管理"->"系统设置"
1.先配置Maven:
Maven Configuration使用默认设置,Maven Name尽量使用其版本号,MAVEN_HOME是你的maven安装目录,去掉自动安装,MAVEN_OPTS使用-Xms256m -Xmx512m -Dfile.encoding=UTF-8 设置内容和字符编码,别的都是默认设置即可。
2.配置Java
3.配置git
点击"Add Git"->"Git"
其中Path to Git executable输入git.exe即可,因为之前在安装git时就已经加入相关目录到系统path路径下了,执行git命令的时候会根据path路径来查找。
还要配置git的的用户昵称和邮箱:
4.配置jenkins location
5.配置Extended E-mail Notification
主要是进行发送邮件的设置,以126邮箱为例,此处的邮箱要与第4步中的系统管理员邮件地址是同一个。
剩下的都保持默认即可。
这里需要注意的是,在Password出填写的不是邮箱密码,而是邮箱的授权码。至于获取授权码,可参考:http://jingyan.baidu.com/article/495ba841ecc72c38b30ede38.html
6.配置邮件通知服务器
此处的密码也是授权码。
配置好后,可以直接勾选"通过发送测试邮件测试配置",假如第4、5、6步都配置正确的话,此时在126邮箱里会收到一封邮件。
至此配置基本完成,先点击应用,在点击保存。
此时jenkins的系统配置已完成,可能接下来要做的是进行jenkins的项目配置:http://www.cnblogs.com/yajing-zh/p/5111060.html
继http://www.cnblogs.com/yajing-zh/p/5109517.html搭建好jenkins系统配置之后,新建jenkins构建项目,用于自动化构建。
点击Jenkins界面左上角的"新建"按钮
点击OK按钮,进入构建项目的配置页面,接下来进行构建项目的详细配置。
1.项目名称和项目描述
2.资源管理配置
Repository URL:是你的github上源码的地址,之后点击Add
Username和Password中输入的是你的github账户名和密码,之后在Credentials中选择刚刚新建的git账户。
剩下的默认配置就好。
3.构建触发器
这个触发器是决定什么时候触发构建,可以设置为定时构建
这里选择 Build Periodically :H 2 * * *表示每天凌晨2点开始执行项目构建。意思是:每天凌晨2点,从git上面拉取最新的代码,然后执行测试,再发送测试报告给相关人员。
4.配置maven执行命令
root pom:表示执行jenkins项目构建的时候,会从autotest/pom.xml文件开始执行,pom.xml文件是所有测试的开头,它里面配置的有要执行的testng.xml文件。
整个构建的流程图如下:
5.配置构建后的操作,即发送测试报告
如下图,点击“增加构建后操作步骤”,然后点击“Editable Email Notification”,进入邮件内容详细配置界面。
Project Recipient List:这个项目的需要发送邮件给哪些人,可以在这里输入多个邮箱,中间以英文逗号隔开。
Project Reply-To List:保持默认即可,这个是收到邮件的人回复邮件时候回复给谁用的,一般不会回复邮件。
Content Type:可以选择Html或者Default也行,因为我们在jenkins系统设置中的默认格式就是html。
Default Subject: 邮件主题,可以书写成:XXX项目自动化测试通知:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS! 分析下这几个参数什么意思:$PROJECT_NAME 构建项目的名称,也就是selenium_2_combat;# $BUILD_NUMBER 构建的号码;$BUILD_STATUS 构建状态,这几个参数,它会自动读取,按照这种格式书写即可。
Default Content:邮件内容,这块是重点,最能体现报告的重点,我们需要输入以下内容:
<hr/>
(本邮件是程序自动下发的,请勿回复!)<br/><hr/>
项目名称:$PROJECT_NAME<br/><hr/>
构建编号:$BUILD_NUMBER<br/><hr/>
构建状态:$BUILD_STATUS<br/><hr/>
触发原因:${CAUSE}<br/><hr/>
测试报告:<a href="http://192.168.1.106:8080/job/$PROJECT_NAME/ws/autotest/result/test-report/power-emailable-report.html">http://192.168.1.106:8080/job/autotest/ws/autotest/result/test-report/power-emailable-report.html </a><br/><hr/>
构建日志地址:<a href="${BUILD_URL}console">${BUILD_URL}console/</a><br/><hr/>
构建地址:<a href="$BUILD_URL">$BUILD_URL</a><br/><hr/>
构建报告:<a href="${BUILD_URL}testReport">${BUILD_URL}testReport/</a><br/><hr/>
变更集:${JELLY_SCRIPT,template="html"}<br/><hr/>
其中的红色字体需要修改成自己电脑的IP地址,这样别人才能访问到jenkins上的测试结果。
6.最后配置什么时候触发发送邮件操作
点击Advanced Settings…,把默认的trigger给删除掉,然后新增一个trigger,然后选择Always选项,如此便不管构建成功还是失败都会发送邮件。
至此,点击应用后保存,项目配置完成!!!
剩下的是执行构建的项目: