有没有一种方法可以模拟Jenkins Pipeline Jobs的读写锁定?

时间:2019-03-07 11:26:05

标签: jenkins locking jenkins-pipeline jenkins-plugins

我有一些未设置数量的作业,这些作业以“读取”方式使用资源A。 所有这些作业都可以同时运行。

我还有一个“写”到A的作业。该作业不能与“阅读器”作业并行运行。

我如何为詹金斯管道解决这个问题? 有没有一种方法可以实现简单的“读写锁定”? 看来lock()仅可用于实现排他锁。

1 个答案:

答案 0 :(得分:1)

有一种方法可以创建带有标签的多个资源,例如“ mylabel”(与您拥有的读者数量一样多)。我相信数量参数is poorly documented

阅读器锁

z=                      x=           y=
    [18,16,12;    [5,5,5;       [30,60,85;
    40,37,33;    10,10,10       30,60,85;
    82,79,75]     20,20,20]      30,60,85;]

写手锁-没有数量-因此这是默认值,全部需要

lock(label: 'mylabel', quantity: 1) {
    ...