1. 测试版本构建流程简介
软件系统测试环境的版本构建使用jenkins平台进行,jenkins自动化构建分为三部分:自动化部署、自动化测试和测试结果邮件发送。
一、自动化部署:开发人员将正式版本发布至Ftp后,测试人员通过jenkins配置自动化部署过程,分为以下几个步骤:从Ftp获取正式发布版本(一般包括数据库包和war包)、解压war包、替换配置文件、使用修改配置文件工具修改配置文件内容、打war包、拷贝war包和数据库包至部署服务器、部署数据库、部署war包至tomcat、启动系统。
二、自动化测试:Jenkins自动化测试job是为了在自动化部署完成后可以自动执行自动化测试用例,并生成自动化测试报告。主要步骤有:在jenkins上配置自动化测试服务器为slave节点,并设置自动化部署job为上级job,触发条件为上级job构建成功,利用脚本执行自动化测试服务器上的自动化测试用例。
三、集成自动化测试生成的html格式的测试报告,通过邮件发送相关人员,触发条件为自动化测试job已执行成功。
2. 测试人员jenkins自动化构建流程
测试人员jenkins自动化构建流程图如下:
3. 配置jenkins节点
配置节点步骤:
3.1 新建节点:
系统管理——管理节点——新建节点:
3.2 配置节点:
服务器用户名和密码添加点击上图“Add”按钮,如下图配置:
配置完成,点击保存。
3.3 节点的连接:
Linux服务器如上步骤即可连接,Windows服务器选择Launch slave agents via Java Web Start:
双击打开slave-agent.jnlp文件即可成功连接节点。如果提示错误,请打开slave-agent.jnlp文件,将jenkins的url地址改为ci.d.com,保存后重新双击运行。成功启动如下图所示:
点击左上角的File选择Install as a service就可以添加为Windows服务了(默认开机自动启动),此项操作可不进行。
4 自动化构建步骤
jenkins测试环境版本构建需新建三个job,分别为:
1. 自动化部署job1
2. 自动化测试集成job2
3. 测试报告发送邮件job3
其中,job1为job2的上级项目,job2为job3的上级项目,并设置触发条件为:job1构建成功,触发job2,job2构建成功,触发job3;各项目也可以手动触发,单独构建。
测试自动化部署及自动化测试发送Email规则:
构建成功:发送自动化测试报告至测试组和开发组全部成员;
构建失败:发送构建结果至测试组和开发组全部成员。
触发操作:发布ftp新版本时,点击job1的立即构建,即可完成自动化部署——自动化测试——测试报告邮件发送的工作流程。
4.1 自动化部署job的构建
job1项目主要为实现项目的自动化部署,首先请看svn://192.168.10.4/SVN/开发部/测试/测试技术与工具/持续集成/修改配置文件工具/修改配置文件工具说明.docx,并准备好该部署项目的conf.xlsx文件。windows和linux下的自动化部署步骤稍有区别。
4.1.1 Linux下的自动化部署
下面以EPEMS项目为例,说明Linux下的自动化部署主要步骤:
1、新建job:打开jenkins地址http://ci.d.com,在jenkins的PS视图下,点击新建:
2、在PS视图下点击进入EPEMS_DEPLOY项目,点击“立即构建”(为了在节点服务器10.0.30.73上自动创建EPEMS_DEPLOY项目的工作空间目录,工作目录的文件结构如下:
其中,stoptomcat.sh文件需手动修改tomcat版本号。
3、执行完毕后点击“配置”, 选择10.0.10.73节点:
4、选择增加构建步骤”Execute shell”,添加以下内容:
以上命令的功能为:删除再重建节点服务器上存放ftp发布包的文件夹,并从ftp获取最新的发布包,放置于节点服务器对应的文件夹下,各项目可根据发布包内容和目录的不同修改以上命令。
5、下面配置以上命令中的各项参数,选择“参数化构建过程——添加参数”,选择“String Parameter”,分别添加以下参数:
6、配置ant构建脚本,Ant Version选择节点上所安装ant的版本,点击“高级”,Build File填写ant脚本所在目录和文件名:
build_epems.xml文件的编写结构:
(1) 配置参数信息;
(2) 创建war包解压目录;
(3) 创建oracle/mysql数据库;
(4) 解压war包;
(5) 修改war包中配置文件,包括替换文件和修改文件;
(6) 修改后的war包打包;
(7) 部署修改后的war包。
Ant构建脚本中使用了配置文件修改工具来进行配置文件修改,需要使用两个文件conf.xlsx和EditConfignew.py,EditConfignew.py文件已放置于10.0.30.73节点上的/home/test/jenkins/workspace目录下,不需准备,用户只需准备conf.xlsx文件并放置于节点的项目workspace下.
7、点击保存。
自动化部署操作:
1、进入EPEMS_DEPLOY项目,选择参数化构建:
2、按照说明修改参数,点击“开始构建”即可。
可点击进入某一次构建,点击console output查看构建日志。
4.1.2 Windows下的自动化部署
下面以FPDS项目为例,说明Windows下的自动化部署主要步骤:
首先需要在该winodws机器上安装putty工具,将putty.zip安装包拷贝到winodws机器,并进行解压,将解压后的putty路径添加至环境变量PATH中,保存,即可使用pscp命令将Linux机器上的文件拷贝到windows机器上。
与Linux环境下部署不同的是,Windows分为了两个job用来自动化部署,以FPDS为例,分为FPDS_FTP和FPDS_DEPLOY,FPDS_FTP使用了10.0.30.73节点,功能为下载发布包和修改发布包,这部分步骤与Linux一致,FPDS_DEPLOY需要增加部署应用的服务器作为节点,并从10.0.30.73上拷贝发布包进行部署,具体如下:
1、在jenkins的PS视图下,新建FPDS_FTP项目;
2、在PS视图下点击进入FPDS_FTP,点击“立即构建”(为了在节点服务器上自动创建该项目的工作空间目录),将准备好的conf.xlsx文件拷贝至/home/test/jenkins/workspace/EPEMS_DEPLOY目录中,保存。
3、执行完毕后点击“配置”, 选择10.0.30.73节点:
4、选择增加构建步骤”Execute shell”,添加以下内容:
以上命令的功能为:删除再重建节点服务器上存放ftp发布包的文件夹,并从ftp获取最新的发布包,放置于节点服务器对应的文件夹下,各项目可根据发布包内容和目录的不同修改以上命令。
5、下面配置以上命令中的各项参数,选择“参数化构建过程——添加参数”,选择“String Parameter”,分别添加以下参数:
6、点击保存。
7、在jenkins的PS视图下,新建FPDS_DEPLOY目;
8、在PS视图下点击进入FPDS_DEPLOY项目,点击“立即构建”(为了在节点服务器上自动创建该项目的工作空间目录),执行完毕后点击“配置”, 选择新增的应用部署服务器10.0.30.58节点:
9、选择构建触发器——Build after other projects are built,选择FPDS_FTP,Trigger only if build is stable,即当FPDS_FTP构建成功时才可触发FPDS_DEPLOY:
10、将fpds_deploy.bat文件放入节点服务器的工作空间目录下,点击“增加构建步骤”,选择“Execute Windows batch command”:
fpds_deploy.bat文件内容如下:
注:这里没有部署数据库的操作,因FPDS项目的数据库可执行文件需在命令行交互输入用户名密码,已和开发沟通,以后提供可用命令+参数形式的数据库执行文件,该命令待添加。
11、点击保存。
自动化部署操作:
1、进入FPDS_FTP项目,选择参数化构建:
2、按照说明修改参数,点击“开始构建”即可。
4.2 自动化测试job的构建
若需集成自动化测试,可进行job2的构建,构建过程如下:
1、选择自动化测试服务器91为节点,构建触发器为自动化部署job构建成功;
2、增加构建步骤:Execute Windows batch command,如图所示:
执行自动化测试服务器上的测试脚本,并将生成的测试报告文件拷贝至固定工作目录下(为了方便在邮件中集成多个项目的自动化测试报告);
3、添加构建后操作:Publish HTML reports,如图所示:填入测试报告html文件的目录和名称,选择Report title为HTML Report,勾选keep past HTML reports和always link to last build,点击保存。
4.3 测试报告邮件job的构建
job3构建过程如下:
1、选择自动化测试报告所在的服务器91为节点,构建触发器为自动化测试job构建成功后,添加构建后操作:Editable Email Notification,各参数含义如下:
(1) Default Recipients:这是一个以逗号(或者空格)分隔的收件人邮件的邮箱地址列表。可以在项目配置使用DEFAULT_RECIPIENTS,<新的收件人>;添加抄送:cc:电子邮件地址例如,CC:someone@somewhere.com;
(2) Reply To List:回复列表;
(3) Content type: 指定构建后发送邮件内容的类型,有Text和HTML两种;
(4) Default Subject:自定义邮件通知的默认主题名称。该选项能在邮件的主题字段中替换一些参数,这样你就可以在构建中包含指定的输出信息;
(5) Default Content:自定义邮件通知的默认内容主体。该选项能在邮件的内容中替换一些参数,这样你就可以在构建中包含指定的输出信息;
(6) Attach Build Log:附件构建日志。
2、点击Advanced Settings,增加触发器Triggers——Always,可使用默认邮件配置,或重新自定义,方法类似,点击保存。