码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-01-16 18:09:24      阅读:4168      评论:0      收藏:0      [点我收藏+]

标签:code   文件中   png   任务   jenkins部署   list   令行   输入   结果   

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)
但重启后失效

 

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

标签:code   文件中   png   任务   jenkins部署   list   令行   输入   结果   

原文地址:https://www.cnblogs.com/landhu/p/8289750.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!