Jenkins Per Slave Pipeline Build Enforcement

Posted

技术标签:

【中文标题】Jenkins Per Slave Pipeline Build Enforcement【英文标题】: 【发布时间】:2015-08-10 09:07:59 【问题描述】:

我正在尝试找到一种方法来确保整个管道在特定执行器上完成,而不允许在该执行器上运行其他作业:

我的管道基本上看起来像:

构建 -> 部署 -> API 测试 -> 硒测试

由于我们有多个团队,所有团队都运行多个并行管道,我希望确保在每个从属基础上,所有构建在管道中完成,然后再开始其他任何构建

有人知道有这样的插件吗?

【问题讨论】:

【参考方案1】:

您可以查看 Locks and Latches 插件,该插件可以通过为相关管道分配锁来帮助您执行此操作。 我从未尝试过您的设置,但它可能会起作用。 另外,考虑将 slave 上的 executor 数量限制为 1,因此只有一个管道可以“适应”。

我希望这会有所帮助。

【讨论】:

我也有同样的问题。不幸的是,将执行者的数量设置为 1 并不能解决这个问题。考虑这种情况: 1- 将管道 A 排队(添加构建作业 A) 2- 构建作业 A 完成,将部署作业 A 排队 3- 同时,管道 B 排队(添加构建作业 B) 4- 部署作业A完成,排队测试A 5-下一个作业执行,这是构建作业B(应该是测试A)需要某种逻辑来说“在管道完成之前不要运行任何其他作业”但是我找不到可以执行此操作的插件... Locks and Latches 说它已过时?

以上是关于Jenkins Per Slave Pipeline Build Enforcement的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins - master/slave模式

Jenkins Master-Slave 架构

jenkins配置slave节点 windows

jenkins的Master/Slave模式

jenkins slave节点服务标签

无法将 slave.jar 复制到 slave 上的“/home/jenkins”