其他分享
首页 > 其他分享> > 【软件测试】——持续集成

【软件测试】——持续集成

作者:互联网

编辑推荐:

本文章向大家介绍软件测试之持续集成,主要包括软件测试之持续集成使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值。

软件测试历史模式

说到软件测试,自然就会联想到持续集成。测试工作繁琐,如果测试人员仍然坚持按照旧的模式,开发人员提交代码至svn》测试人员检出源码》编译打包》上传服务器》部署启动,十分耗时,且过程中都需要测试人员进行操作,易造成人力资源的浪费。在这里插入图片描述
软件测试集成工具jenkins

针对这种情况,持续集成工具jenkins被引入到测试工作中,协助测试人员进行“自动化部署、启动”。

Jenkins,基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

当开发人员完成一个阶段性的研发工作或修复完一个周期的bug后,所有代码均已提交到svn,测试人员只需要登入jenkins,对已创建好的工程(工程如何创建会在下面进行描述)进行构建,jenkins会自动将svn最新代码进行检出、编译并打包,部署到远程服务器启动,测试人员不需要进行任何其他操作,jenkins构建全程有日志,当构建成功后,测试人员看到的就是最新的应用程序。

搭建上述持续集成环境可以把整个构建、部署过程自动化,很大程度上减轻测试人员工作量。

Jenkins的安装教程网上可以搜索到,此处不再进行赘述。今天主要是结合具体项目来讲解,如何通过jenkins实现其自动化部署及启动。

Jenkins基础环境配置

1)基础插件配置:登录jenkins,jenkins【系统管理】》【插件管理】,安装Maven Integration plugin、Deploy to container Plugin在这里插入图片描述
2)基础参数配置:jenkins【系统管理】》【全局工具配置】,配置好jenkins所在服务器的maven和jdk路径在这里插入图片描述
3)修改maven全局配置:jenkins【系统管理】》【系统设置】,修改Maven项目配置

全局MAVEN_OPTS:-Xms128m -Xmx512m

Local Maven Repository :Local to the executor

全局MAVEN_OPTS:-Xms128m -Xmx512mLocal Maven Repository :Local to the executor
在这里插入图片描述
Jenkins构建项目

  1. 新建项目:构建一个自由风格的软件项目

  2. 配置源码路径并添加权限用户,源码路径及依赖包需要按照次序进行添加
    在这里插入图片描述
    Local module directory:这是让你自己设置代码存储到本地工作区的自定义目录

如果为“.”,则码直接放在当前工作区目录下;

如果自定义目录,则会在工作区创建这个目录结构,然后代码存储到这个目录下

  1. 添加构建脚本
export JAVA_HOME=/home/qingqing/jdk8
 export JRE_HOME=$JAVA_HOME/jre
 export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
 export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
 cd $WORKSPACE
 cd bdp-parent
 MAVEN_BIN=/home/qingqing/maven3/bin
 $MAVEN_BIN/mvn clean install -Dmaven.test.skip=true
 cd ../bdp-transfer
 $MAVEN_BIN/mvn clean install -Dmaven.test.skip=true
$WORKSPACE: Job的工作空间路径,这里就是/home/qingqing/.jenkins/workspace/bdp-console

在这里插入图片描述
4) 先保存应用,到此构建该项目,代码没有问题的前提下,能够编译成功并打成war包,到这里只能算是自动化打包,那么自动化部署和启动,还需要在打包完成后进行操作

Jenkins配置SSH

  1. 保存完毕后,进入【系统管理】》【系统设置】,定位到Publish over SSH在这里插入图片描述
Passphrase:全局的ssh密码
 SSH Servers : 远程服务器信息设置区
 Name:当前SSH Server的名称(随意取)
 Hostname:远程服务器ip地址
 Username:远程服务器的用户名
 Remote Directory :连接远程服务器路径(绝对路径),也是在此路径下执行shell命令,默认为/home/admin(根据每台服务器用户名而改变)。

Passphrase:全局的ssh密码 SSH Servers : 远程服务器信息设置区 Name:当前SSH Server的名称(随意取) Hostname:远程服务器ip地址 Username:远程服务器的用户名 Remote Directory :连接远程服务器路径(绝对路径),也是在此路径下执行shell命令,默认为/home/admin(根据每台服务器用户名而改变)。

点击“高级”,勾选“Use password authentication, or use a different key”,在“Passphrase / Password”中输入远程服务器用户名的密码,比如该处输入用户名为“usieip”的密码。使用“Test Configuration”进行校验该配置是否通过,如下图:在这里插入图片描述
Jenkins通过shell脚本远程启动工程

  1. 此时再次进入初始构建的项目,bdp-console中,找到“构建后操作”,点击“增加构建后操作步骤”,选择“Send build artifacts over SSH”在这里插入图片描述
    在这里插入图片描述

说明:此操作的目的,主要是将jenkins服务器上面打好的war包上传到远程服务器,并执行远程服务器的脚本(脚本中会进行停止在运行进程、换包、替换配置文件、重启工程)

(1)Source files:这是一个相对路径,相对于该job的工作区的路径(存放源码的路径);(2)Remove prefix :移除Source files中的前缀;

(2)Remote directory:远程服务器的目标位置,相对路径,相对于在“系统设置”中的“Publish over SSH”里的“SSH Server”设置里的“Remote Directory”的路径。

(3)Exec command:此处写在远程服务器上执行的shell脚本

Start.sh脚本内容:

#tomcat路径
 TOMCAT_HOME=/home/usieip/bdp-console-8081
 
 #查看进程并杀掉进程
 ID=`ps -ef | grep "$TOMCAT_HOME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'`
 echo $ID
 for id in $ID
 do
 kill -9 $id
 echo "killed $id"
 done
 
 #删除旧的war包等
 cd $TOMCAT_HOME/webapps
 rm -rf bdp*
 
 #拷贝新war包到Tomcat下
 cd ../../war/
 cp bdp-transfer-console-3.0.0.war $TOMCAT_HOME/webapps
 mkdir bdp-transfer-console-3.0.0
 cp bdp-transfer-console-3.0.0.war bdp-transfer-console-3.0.0/
 cd bdp-transfer-console-3.0.0/
 unzip bdp-transfer-console-3.0.0.war
 cp /home/usieip/web_config/bdp.yml WEB-INF/classes/
 
 #启动tomcat
 "$TOMCAT_HOME"/bin/startup.sh

Worker.sh脚本内容:

#tomcat路径
 TOMCAT1_HOME=/home/usieip/bdp-worker-8020
 ?
 #查看进程并杀掉进程
 ID=`ps -ef | grep "$TOMCAT1_HOME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'`
 echo $ID
 for id in $ID
 do
 kill -9 $id
 echo "killed $id"
 done
 
 #删除旧的war包等
 cd $TOMCAT1_HOME/webapps
 rm -rf bdp*
 
 #拷贝新war包到Tomcat下
 cd ../../war/
 cp bdp-transfer-worker-3.0.0.war $TOMCAT1_HOME/webapps
 cd $TOMCAT1_HOME/webapps
 mkdir bdp-transfer-worker-3.0.0
 cp bdp-transfer-worker-3.0.0.war bdp-transfer-worker-3.0.0/
 cd bdp-transfer-worker-3.0.0
 unzip bdp-transfer-worker-3.0.0.war
 cp /home/usieip/worker_config/bdp.yml WEB-INF/classes/
 
 #启动tomcat
 "$TOMCAT1_HOME"/bin/startup.sh 

至此,一个基本的自动化部署工程已经创建完毕。jenkins中,直接对该工程进行构建,将对此工程进行编译,打包、部署、启动,浏览器直接输入访问地址就可以进行访问,如果构建失败,则需要查看构建日志,查看报错,解决问题,最终迎来自动化的“春天”~(当然,如果您在使用jenkins构建过程中有任何疑问,也可以联系我)

愿你我相遇,皆有所获!

欢迎关注微信公众号:程序员一凡

1.免费领取一份216页软件测试工程师面试宝典文档资料。
2.软件测试学习路线以及相对应的视频学习教程免费分享!

标签:集成,transfer,持续,bdp,jenkins,HOME,服务器,war,软件测试
来源: https://blog.csdn.net/qq_42434318/article/details/111767783