詹金斯(Jenkins):每个节点上只为一个作业运行一个构建

时间:2018-08-01 15:28:07

标签: jenkins jenkins-plugins jenkins-pipeline

我们有一个项目,其中有几个詹金斯工作: 一种运行交付(A)的作业,

只进行编译和单元测试(B)的人

运行集成测试,静态代码分析等(C)的计算机。

我们在四个Jenkins节点(主节点+三个从节点)上运行,我们的工作是声明性管道工作的混合,并手动单击Jenkins-jobs。

我们只希望一次在每个节点上运行一个集成测试版本。但是,我们希望运行与执行程序一样多的交付(A)和代码质量(B)构建。

到目前为止,Throttle并发构建(https://github.com/jenkinsci/throttle-concurrent-builds-plugin)插件已经满足了我们的需求。但是,此插件不支持声明性管道构建,也根本不更新。

可锁定资源插件(https://github.com/jenkinsci/lockable-resources-plugin)似乎很有前途,但是我们还没有找到通过动态设置资源名称来锁定整个构建的任何方法。也就是说,当我们开始C构建时,我们希望它锁定“ resource_ {服务器名称}”。 这个插件可以在 options 指令中设置整个构建锁, נ我们还没有弄清楚如何在那里评估环境变量。

任何建议将不胜感激!

1 个答案:

答案 0 :(得分:0)

所以我们这边的解决方法是将管道脚本从声明性语法重写为脚本化语法。然后,节流并发builds-plugin会发挥作用。

修复了错误https://issues.jenkins-ci.org/browse/JENKINS-49173后,该插件也将与声明性管道一起使用。