有没有办法为 Jenkins 管道作业模拟读写锁?
Is there a way to emulate read-write lock for Jenkins Pipeline Jobs?
我有一些作业以 "reading" 的方式使用资源 A,数量未定。
所有这些工作可以 运行 同时进行就好了。
我还有一份 "writes" 给 A 的工作。这份工作不能 运行 与 "reader" 个工作并行。
我该如何解决 Jenkins Pipelines 的这个问题?
有没有办法实现简单的"read-write lock"?
貌似lock()
只能用来实现排他锁
有一种方法,创建多个带有标签的资源,例如 'mylabel'(与您拥有的读者一样多)。我相信数量参数 is poorly documented.
Reader锁
lock(label: 'mylabel', quantity: 1) {
...
写入器锁 - 没有数量 - 所以这是默认值,需要全部
lock(label: 'mylabel') {
...
我有一些作业以 "reading" 的方式使用资源 A,数量未定。 所有这些工作可以 运行 同时进行就好了。
我还有一份 "writes" 给 A 的工作。这份工作不能 运行 与 "reader" 个工作并行。
我该如何解决 Jenkins Pipelines 的这个问题?
有没有办法实现简单的"read-write lock"?
貌似lock()
只能用来实现排他锁
有一种方法,创建多个带有标签的资源,例如 'mylabel'(与您拥有的读者一样多)。我相信数量参数 is poorly documented.
Reader锁
lock(label: 'mylabel', quantity: 1) {
...
写入器锁 - 没有数量 - 所以这是默认值,需要全部
lock(label: 'mylabel') {
...