Как обрабатывать уникальный идентификатор для каждой среды при параллельной работе в конвейере Jenkins?
Я устанавливаю общую библиотеку, в которой один из методов "vars" создает среду и возвращает уникальный идентификатор для этой среды. Этот идентификатор затем требуется в других методах "vars". Я бы тоже хотел работать параллельно для каждой среды.
Моя цель состоит в том, чтобы Jenkinsfile
использует методы "vars" с как можно меньшим количеством помех, поэтому в идеале не нужно передавать уникальный идентификатор в каждый метод. Есть ли какая-либо техника для удержания этих уникальных идентификаторов исключительно в методах "vars", или нужно def
в замыканиях, которые передаются parallel
?
По сути, я ищу способ поделиться уникальным идентификатором, созданным в createOrg
с другими методами "Vars", такими как runTests
:
def stagesPerOrg = [:]
forEachOrg {
def org = ${ORG}
def stages = {
stage("${org} create") {
createOrg
}
stage("${org} test") {
runTests
}
}
stagesPerOrg[org] = stages;
}
parallel stagesPerOrg