我们有一个用例,其中我们有两个不同的Jenkins管道A和B,其中A可以触发B,B可以触发A,但是我们希望能够约束A和B,以便在以下情况下A不能运行B仍在运行,反之亦然。
我知道一个人如何创建一个管道并阻止它运行其自身的多个副本,但是有没有办法让管道检查另一个作业的状态并阻塞直到另一个作业完成?
答案 0 :(得分:1)
听起来您需要lockable resource plugin
从其页面上:
echo 'Starting'
lock('my-resource-name') {
echo 'Do something here that requires unique access to the resource'
// any other build will wait until the one locking the resource leaves this block
}
echo 'Finish'