У меня есть две работы (Job1 и Job2). Оба параметра параметризованы с одинаковыми параметрами, но значения параметров отличаются и разработаны с использованием плагина Active-Choice-Parameter (uno).
Я хочу запустить обе работы в конвейере, однако ниже приведено точное требование.
Когда конвейер выполняется, Job1 выполняется и предлагает пользователю ввести параметры (UI). Пользователь вводит / выбирает значения и запускает их для построения.
Как только сборка на задании 1 завершается, пользователю предлагается (утверждение) перейти к следующему заданию 2. Пользователь подтверждает, нажав кнопку «ОК / Продолжить»; и, таким образом, запускается Job2 конвейера.
Примечание. Я добился этого с помощью функции ввода в скрипте Groovy.
Значения параметров Job1 должны быть переданы и должны отображаться в Job2; однако пользователь должен иметь возможность видеть и изменять переданные значения для любого параметра в Job2 (UI).
Примечание. Я могу передать значения параметров с помощью «Параметризованного триггерного плагина» в «Действиях после сборки» задания 1
Постановка задачи:
При запуске конвейера не отображается экран параметров пользователя для Job1 или Job2, чтобы пользователь мог вводить / выбирать и изменять параметры для Job1 или Job2 во время выполнения конвейера.
Примечание:
Я могу преодолеть проблему, используя плагин Build Pipeline:
Но причина, по которой я не хотел бы рассматривать это решение,
Я не знаю, как я могу вставить элемент ввода скрипта groovy конвейера, который запрашивает утверждение между заданиями.
Я читал, что использование подключаемого модуля конвейера имеет преимущества перед использованием подключаемого модуля сборки
Ниже приведен Groovy-скрипт (конвейерный скрипт)
agent any //agent specifies where the pipeline will execute.
stages {
stage ("build PROD") { //an arbitrary stage name
steps {
build 'job1' //this is where we specify which job to invoke.
}
}
stage ("build DR") { //an arbitrary stage name
input{
message "Press Ok to continue"
submitter "user1,user2"
parameters {
string(name:'username', defaultValue: 'user', description: 'Username of the user pressing Ok')
}
}
steps {
echo "User: ${username} said Ok."
build 'job2' //this is where we specify which job to invoke.
}
}
}
}
Любое решение было бы очень полезно. Спасибо.