管道锁定:确保只有一个GoCD管道实例可以同时运行。

有时,您希望确保管道中只有一个实例可以同时运行。如果管道的各个阶段是相互关联的,这一点很重要。例如,第一个阶段可能会设置一个环境,该环境将在管道的下一个阶段使用。

如果管道被锁定,那么GoCD将不允许该管道的任何其他实例被调度,直到当前运行的管道已经完成。

要从配置UI启用锁定,请导航到管道的管道设置部分。锁定有三种选择:

选项1:一次运行一个管道实例(“锁定行为:完成后解锁”)("Lock behavior: Unlock when finished")

此选项使管道的单个实例可以通过临时锁定管道并在完成时打开管道来运行。当管道完成时,由于任何阶段的失败或最后阶段的成功,管道将自动解锁。如果管道到达手动阶段,也会解锁。

Pipeline locking behavior - Unlock when finished

选项2:运行管道的单个实例并锁定失败(“锁定行为:锁定失败”)("Lock behavior: Lock on failure")

此选项使管道的单个实例可以一次运行。当管道启动时,管道被锁定,如果失败,它将被锁定。如果管道到达最后阶段(即使它失败了),它将被解锁。如果管道到达手动阶段,则没有打开。如果一个管道被锁定,它将不允许任何新实例运行,除非它是手动或通过API解锁的。

管道锁定行为-锁定失败

选项3:运行多个实例 ("Lock behavior: None")

这是默认行为。管道的多个实例可以同时运行.

管道锁定行为-无

从配置XML控制锁定行为

为了从配置XML中启用锁定,将lockBehavior属性设置为unlockWhenFinished, lockOnFailurenone,对应于上面显示的三个选项:

<pipeline name="my-locked-pipeline" lockBehavior="lockOnFailure">
    <materials>
        ...
    </materials>
    <stages>
        ...
    </stages>
</pipeline>

还可以看到配置参考.

results matching ""

    No results matching ""