1. 前言
用来阻止多个构建在同一时间试图使用同一个资源。这里的资源可能是一个节点、一个代理节点、一组节点或代理节点的集合,或者仅仅是一个用于上锁的名字。如果指定的资源没有在全局配置中定义,那么它将会被自动地添加到系统中。
2. 实战
下面演示的资源类型时一个用于上锁的名字,同样的道理,你可以锁定一个节点,如lock('worker_node') {...}
2.1 全局配置中定义可锁定的资源
Labels用于筛选资源池(DK_Printers可能代表多个打印机)中的资源,lock方法中显示指定labels将只对其中部分资源锁定
quantity表示指定需要被上锁的匹配到该资源的数量,详解见后文
inversePrecedence表示是否可以后来居上,后进先出
使用方法:lock(label: 'DK_Printers_Office', quantity: 3, inversePrecedence: false)
2.2 新建两个流水线项目
2.2.1 pipeline-lock
该项目执行时会获得锁"DK_Printers"并将其锁定,