Вы можете получить имя заблокированного ресурса, используя параметр variable
шага рабочего процесса lock
. Эта опция определяет имя переменной среды, в которой будет храниться имя заблокированного ресурса. Рассмотрим следующий пример.
pipeline {
agent any
stages {
stage("Lock resource") {
steps {
script {
int num = 1
String label = "Windows"
lock(label: label, quantity: num, variable: "resource_name") {
echo "Locked resource name is ${env.resource_name}"
}
}
}
}
}
}
В этом примере доступ к заблокированному имени ресурса можно получить с помощью переменной env.resource_name
. Вот результат работы конвейера.
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Lock resource)
[Pipeline] script
[Pipeline] {
[Pipeline] lock
Trying to acquire lock on [Label: Windows, Quantity: 1]
Lock acquired on [Label: Windows, Quantity: 1]
[Pipeline] {
[Pipeline] echo
Locked resource name is Win_Res_1
[Pipeline] }
Lock released on resource [Label: Windows, Quantity: 1]
[Pipeline] // lock
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
Вы можете видеть, что значение Win_Res_1
было присвоено переменной env.resource_name
.