zl程序教程

您现在的位置是:首页 >  工具

当前栏目

jenkins之-----------在必要的时候并发构建

Jenkins并发 构建 时候 必要
2023-09-27 14:26:52 时间

jenkins支持在同一节点支持同任务并发,但存在形成报告时会覆盖相应的文件,查看官网后发现有介绍“在必要的时候并发构建”

大致意思就是:将此项勾选后,可以同时执行,执行在任务自己的workspace上,默认的,使用@<num>来区分不同的工作区,如:@2,分隔符@可能通过hudson.slaves.WorkspaceList来更改。

如果,项目使用了自定义的工作空间的话,所有的构建都会在相同的工作空间执行,所以相关的数据或结果都会被覆盖。

试验前提,jenkins已部署成功,本次试用的jenkins部署在linux上

一‘、测试并发构建测试

  1、首先我们要在对应节点上将执行者数量设成多个,如下图,将master设成了2个

    

  2、新建Test任务,并写构建脚本

    

3、进行多次构建,查看Console输出

  分别输出:

  

可以看出,同时执行任务时,通过job名+@数字来区分,在对应的文件中也有两个项目

二、slave节点测试并发构建测试

之前要利用节点进行测试时,都是直接在job直接自定义工作空间,但这样的话会导致同时执行时不能区分,所以要用如下步骤建:

1、新建新节点,并将执行数设成2,将远程工作目录设成你要执行的目录

2、还是新建Test项目,输入以下脚本

 

3、多次构建,结果如下

也可以看出,自动创建了新的workspace,在实际的执行机器上,也新建了对应的目录

 

 

修改hudson.slaves.WorkspaceList方法:

1、如果是jenkins在linux上安装,修改/etc/sysconfig/jenkins

    在JENKINS_JAVA_OPTIONS中加上hudson.slaves.WorkspaceList=xxx  xxx为你想的分隔符

2、直接在jenkins命令行上输入

System.setProperty("hudson.slaves.WorkspaceList", xxx)
但重启后失效