简介:现在把多个自动化测试项目部署到Jenkins上,有时我们需要同时跑多个自动化用例,以节约时间,这就可以运用Jenkins的slave节点来执行分布式构建。

一、添加slave节点

1、进入系统管理-节点管理页面
Jenkins分布式执行测试用例

2、点击“新建节点”
Jenkins分布式执行测试用例

3、配置节点,如下图:
Jenkins分布式执行测试用例

说明:
远程工作目录:节点机器存放Jenkins的workspace的目录,可以自己建一个。另外,节点机器不用安装Jenkins。
启动方法:启动方法有四个选项。建议选择第1、2种方式配置。详细如下:

a、【推荐】Launch slave agents on Unix machines via SSH 在Unix(包括Linux)机器上通过SSH通道连接节点 (适用于Unix和Linux)

b、【推荐】Launch agent via Java Web Start 通过Java Web Start连接节点 (适用于所有支持Java程序的系统)

c、Launch slave via execution of command on the Master 通过主节点的控制台连接节点

d、【不建议使用】Let Jenkins control this Windows slave as a Windows service 让Jenkins节点添加到Windows服务中

由于我们的项目是java的,且在windows上执行,所以选择Launch agent via Java Web Start 方式启动节点机器最简单。

另外,有可能会遇到启动方法中没有Launch agent via Java Web Start选项的情况,解决如下:

a、打开”系统管理”——”Configure Global Security”
Jenkins分布式执行测试用例

b、TCP port JNLP agents 配置成”随机”,点击”Agent protocols”,打勾开启”Java Web Start Agent Protocol3”
Jenkins分布式执行测试用例

c、检查Plugin Manager中”Enable Slave”需要打勾
Jenkins分布式执行测试用例

d、保存后再回到节点配置页面就有Launch agent via Java Web Start选项了

二、启动节点

1、在节点机器的浏览器打开主机的Jenkins,并进入刚刚添加的节点页面
Jenkins分布式执行测试用例

2、连接节点
选择一种连接节点的方法:
Jenkins分布式执行测试用例

第一种:

a、点击Launch,下载文件为slave-agent.jnlp

b、将slave-agent.jnlp文件复制到远程服务器的远程工作目录C:\Users\kingdee.jenkins下

c、选中slave-agent.jnlp-右键-打开方式:
Jenkins分布式执行测试用例

d、点击“浏览”,选择jdk/bin目录下的javaws.exe:
Jenkins分布式执行测试用例

e、再双击slave-agent.jnlp打开,成功启动如下图所示:
Jenkins分布式执行测试用例

f、点击左上角的File选择Install as a service就可以添加为Windows的服务了(默认开机自动启动)

第二种:

a、下载slave.jar到本地

b、打开命令行,切换到slave.jar的存放目录

c、复制上面截图中第二种方式的命令,并粘贴并运行,如下图:
Jenkins分布式执行测试用例

3、连接成功后节点状态如下:
Jenkins分布式执行测试用例

三、分布式构建

1、进入自动化测试任务的配置页面,勾选“Restrict where this project can be run”,再输入节点机器的标签名,保存
Jenkins分布式执行测试用例

2、这是点击立即构建就会在节点机器上运行自动化测试用例了

3、最后建议:节点机器的JDK、Maven等安装位置要和jenkins所在服务器的JDK和maven保持一致,不然容易报错。

相关文章: