jenkins配置如下:

在Jenkins上添加了两个节点(Slave Node),且为这两个节点设置了一个相同的标签"windows"。创建了一个新Job – "test-windows",选择的是”构建一个自由风格的软件项目”。并且为了使多个slave并行构建,我选择了"只允许绑定到这台机器的job”,在"Label Expression"中选择了"windows"。

然而这种方式并不能实现多个slave并行操作。网上90%说的都不靠谱。

在我使用的过程中,使用了label 去管理多个 Slave,给一个项目的构建指定了这个 label,会发现这个项目的多次构建,都使用同一个 Slave,并没有使用 label 里的其它 Slave去构建。

查了很多资料才发现原来从 jenkins 的调度算法使用了一致性的哈希算法,jenkins根据添加的信息评测出优先级列表,选择优先级最高的Slave去构建,当最优slave不满足条件或者没有可用的 execut时,才会选用下一个slave。

查了很多资料发现构造多配置项目可以选择构建时的slave。这样可以实现多slave并行构建。

multi configuration project比起构建自由风格的软件项目多个Configuration Matrix,在这里可以选择多个slave。这里选择lable的话,还是会使用默认算法从lable中选择最优slave进行构建。

配置完成后再构建时,会同时在多个slave上进行并行构建

禁止在master上运行job或和业务相关的操作

将 [executors] 设置为0e

jenkins多个slave遇到的坑的更多相关文章

  1. Jenkins 为Jenkins添加Windows Slave远程执行python项目脚本

    为Jenkins添加Windows Slave远程执行python项目脚本   by:授客 QQ:1033553122 测试环境 JAVA JDK 1.7.0_13 (jdk-7u13-windows ...

  2. Jenkins的Windows Slave的配置

    原文:http://www.cnblogs.com/itech/archive/2011/11/09/2243025.html 参考: https://wiki.jenkins-ci.org/disp ...

  3. Jenkins搭建Windows slave 环境

      因为之前的接口测试平台是在windows上,后来换了linux,花了半天时间也没有成功,就想着建立一个windows的节点曲线救国   创建WindowsSlave 首先要保证windows和sl ...

  4. Jenkins设置Master/Slave

    说明:通过master/slave模式,可以在master节点上统一管理其他slave节点. 下面说明一步步实现master/slave模式. 第一步:以管理员登录jenkins.点击"系统 ...

  5. jenkins+github持续集成中的坑

    1.前言 刚开始开发自己的独立博客的时候,每次发布都要手动打包,上传服务器,杀tomcat进程,重启,来回这么重复性工作,很快就有点不耐烦了.如果能自动化的东西,就绝不要手动了,所以自己搭建了个持续集 ...

  6. Gitlab Jenkins WebHook 持续集成配置踩坑记

    Jenkins相关介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. 目的 配置Gitla ...

  7. jenkins的Master/Slave模式

    一. Master/Slave模式 分担jenkins服务器的压力,任务分配到其它执行机来执行 Master:Jenkins服务器 Slave:执行机(奴隶机).执行Master分配的任务,并返回任务 ...

  8. Kubernetes Jenkins动态创建Slave

    目录 0.前言 1.Jenkins部署 2.配置jenkins动态slave 3.dubbo服务构建 3.1.制作dubbo镜像底包 3.2.制作slave基础镜像 3.2.1.Maven镜像 3.2 ...

  9. Jenkins的Windows Slave分布式构建和部署

    1.新建的Slave:系统管理-->管理节点-->新建节点 远程工作目录 即是 节点服务器 站点文件存放目录 在配置节点时 启动方法 配置的选项中的 Launch agent via Ja ...

随机推荐

  1. Ajax的注意事项

    case 1: 无论是使用原生的JavaScript,还是JQuery,通过Ajax请求后端程序数据,返回的数据默认是字符串,字符串,字符串,重要的事情说三遍!!! case 2: 不要尝试直接将返回 ...

  2. [转帖]VBS 教程

    VBS教程 http://www.cnblogs.com/veggiegfei/p/5943260.html 原作者真牛B 网上找了好多 没找到 没想到整理的这么好, 转来学习一下 改天打印出来. V ...

  3. CMake--Set用法

    CMake中的set用于给一般变量,缓存变量,环境变量赋值. cmake官方文档set set(<variable> <value> [[CACHE <type> ...

  4. SAP入行就业

    就大局势来说, 缺乏人最多的模块有abap 还有就是FICO 和MM. 如果您 英语水平特别高的话,建议您学习FICO HR 或BW. 如果您想追求高薪,那就是FICO无疑了.想快速就业或者有编程基础 ...

  5. angular生命周期

    概述 angular的组件及指令都有相应的声明周期: 创建, 更新, 销毁, 我们可以通过实现相应的生命周期钩子接口来进入相应的该声明周期的关键时刻 组件生命周期顺序 ngOnChanges: 当组件 ...

  6. OneZero——Review会议(2013.5.20)

    1. 时间: 2016年5月20日. 2. 成员: X 夏一鸣 * 组长 (博客:http://www.cnblogs.com/xiaym896/), G 郭又铭 (博客:http://www.cnb ...

  7. SpringBoot(十六)_springboot整合JasperReport6.6.0

    现在项目上要求实现套打,结果公司里有个人建议用JaperReport进行实现,就进入这个东西的坑中.好歹经过挣扎现在已经脱离此坑中.现在我也是仅能实现读取数据库数据转成pdf进行展示,包括中文的展示. ...

  8. delphi有关获取其他程序的窗口及对窗口内控件的操作

    1.获取当前所有窗口 procedure TForm1.Button1Click(Sender: TObject);var szText: array[0..254] of char; hCurren ...

  9. Java循环中try...finally...遇到continue

    一段很简单的代码,先自己在大脑中给出结果: for (int i = 0; i < 5; i++) { System.out.println("enter: i=" + i) ...

  10. 【转】【JLINK下载失败,STLINK下载失败万能解决方案】JLINK和STLINK都无法下载时的解决办法,此时芯片并没有报废

    很多时候都会认为这个板子无法下载了,其实不是的,有解决办法. 原因如下: 由于客户设置的晶振频率和PLL配置错误时,就会出现这种问题,下载一次程序锁住一次板子,搞的人痛不欲生. 还有错误的外设配置,S ...