q36988 发表于 2018-1-8 06:38:14

利用Jenkins Master-Slave特性实现简单分布式自动化测试提高运行效率

  分布式自动化测试设计思路
  在ZKBioSecurity3.0系统自动化测试过程中,由于授权模块需要经常更改授权点数以及系统时间,不适合于与其它的流程置于同一台服务器上运行,因此萌生构建一次部署到多台服务器的想法。此举既可以解决目前的资源影响问题,也可以为后继的分布式执行自动化脚本做铺垫。Jenkins支持”master/slave”模式,相当于Server和Agent的概念。Master提供Web接口让用户来管理job和slave,job可以运行在master本机或者被分配到slave上运行。一个master可以关联多个slave用来为不同的job或相同的job的不同配置来服务。
  一、创建SLAVE节点具体步骤。
  1. 配置slave
  (1)进入Jenkins找到“系统管理”
https://images0.cnblogs.com/blog2015/757333/201508/181706473784671.png
  (2)进入Jenkins系统管理页面找到“管理节点”
https://images0.cnblogs.com/blog2015/757333/201508/181708059254141.png
  (3)在节点管理菜单中找到“新建节点”
https://images0.cnblogs.com/blog2015/757333/201508/181709105813521.png
  (4)在新建节点页面中输入节点名称,选择Dumb Slave
https://images0.cnblogs.com/blog2015/757333/201508/181711411754581.png
https://images0.cnblogs.com/blog2015/757333/201508/181712087851346.png
  # of executors : 是可以同时build的进程数
  远程工作目录:这个是远程机器上用于放置Jenkins工作目录的位置
  标签:这个标签用于跟Job 关联,必需填
  用法:选择只允许运行绑定到这台机器的Job
  启动方法:windows下选择Launch slave agents via Java Web Start比较方便
  保存后可以在节点列表下看到这个新建的节点
  2. 启动Slave子服务器
  在Slave子服务器所在的机器上访问http://%host%/%port%/jenkins(http://192.168.1.41:8080/jenkins)进入到上文提到的节点列表,可以看到一个Launch 按钮,点击下载jnpl到本地
https://images0.cnblogs.com/blog2015/757333/201508/181717429882311.png
https://images0.cnblogs.com/blog2015/757333/201508/181718178474327.png
  如果连接成功会如图所示,显示出Connected。
https://images0.cnblogs.com/blog2015/757333/201508/181719492537303.png
  如果你想把slave作成服务随系统启动,那么可以使用File à Install as a service工具
https://images0.cnblogs.com/blog2015/757333/201508/181720324883128.png
https://images0.cnblogs.com/blog2015/757333/201508/181721305033371.png
  点击确定安装,安装完成之成会在服务里多一个jenkinsslave-*的服务
https://images0.cnblogs.com/blog2015/757333/201508/181723140033551.png
  3. 关联Job与Slave
  在项目配置中勾选 Restrict where this project can be run ,在Label Expression 输入前面Slaver 标签名称。
https://images0.cnblogs.com/blog2015/757333/201508/181724247063884.png
  然后就可以在节点的标签页中看到这个job了
https://images0.cnblogs.com/blog2015/757333/201508/181731206132289.png
  二、创建Project,并进行配置。
  1、创建一个自由风格软件项目
  https://images0.cnblogs.com/blog2015/757333/201508/181735456757878.png
https://images0.cnblogs.com/blog2015/757333/201508/181736232856921.png
  2、配置project
  https://images0.cnblogs.com/blog2015/757333/201508/181737131918340.png
  https://images0.cnblogs.com/blog2015/757333/201508/181737551442124.png
  3、命令解释
  net stop BioSecurityTomcat
  关闭Tomcat服务
  cd "D:\Program Files (x86)\ZKBioSecurity\MainResource\tomcat\webapps"
  进到ZKBioSecurity应用部署的目录下
  rd /s/q ROOT
  删除ROOT文件夹
  cd d:\jenkins\ftpclient
  进到ftpclient目录下
  java –jar zkupload-1.1.jar
  "D:\Program Files (x86)\ZKBioSecurity\MainResource\tomcat\webapps"
  执行java方法下载Master编译好的war到Slave上,参数是Slave上的Tomcat webapps的路径
  net start BioSecurityTomcat
  启动Tomcat目录
  4、ZKBioSecurity_Web中也需要进行配置,对其进行触发。
  https://images0.cnblogs.com/blog2015/757333/201508/181739240663057.png
页: [1]
查看完整版本: 利用Jenkins Master-Slave特性实现简单分布式自动化测试提高运行效率