jenkins多个slave遇到的坑

秒速五厘米 2022-01-13 09:27 389阅读 0赞

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

jenkins配置如下:

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

image

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

  1. 在我使用的过程中,使用了label 去管理多个 Slave,给一个项目的构建指定了这个 label,会发现这个项目的多次构建,都使用同一个 Slave,并没有使用 label 里的其它 Slave去构建。
  2. 查了很多资料才发现原来从 jenkins 的调度算法使用了一致性的哈希算法,jenkins根据添加的信息评测出优先级列表,选择优先级最高的Slave去构建,当最优slave不满足条件或者没有可用的 execut时,才会选用下一个slave
  3. 查了很多资料发现构造多配置项目可以选择构建时的slave。这样可以实现多slave并行构建。

image

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

image

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

image

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

将 [executors] 设置为0e

image

作者:期待幸福

出处:http://lc161616.cnblogs.com/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载于:https://my.oschina.net/u/4000302/blog/3052670

发表评论

表情:
评论列表 (有 0 条评论,389人围观)

还没有评论,来说两句吧...

相关阅读