Как обрабатывать уникальный идентификатор для каждой среды при параллельной работе в конвейере 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

0 ответов

Другие вопросы по тегам