Ответ 1
Текущая производственная версия (1.4.2) плагина build-pipe-plug-it позволяет - указывать ручное нисходящее задание с параметрами, которое отображается на конвейере и может быть запущено оттуда. Старые версии не могли этого сделать.
Я использую Jenkins для создания конвейера сборки и должен запускать шаг развертывания в конвейере. Это означает ручной процесс (сборка происходит автоматически, синхронизируется, затем останавливается на стадии развертывания, ожидая ручной авторизации).
Мне нужно, чтобы шаг развертывания также запускался с параметрами с предыдущего шага.
Итак, используя "Parameterized plugin", я могу передавать параметры между заданиями. Я могу запускать автоматические или вручную запущенные рабочие задания (не уверен, что это стандартная функция, или некоторые из них были добавлены некоторыми плагинами).
Однако я не могу найти способ запуска ручного параметризованного задания.
Кто-нибудь знает, как это сделать? Есть ли другой плагин, который я могу использовать?
Причина, по которой мне нужны параметры, заключается в том, что я создал общее задание развертывания и должен передать имя модуля и версию maven для развертывания. Я мог бы создать конкретные задания развертывания для каждого модуля, но это было бы очень болезненно.
Я также рассматривал следующее, но, похоже, kludge:
Существуют различные проблемы с этим подходом
Текущая производственная версия (1.4.2) плагина build-pipe-plug-it позволяет - указывать ручное нисходящее задание с параметрами, которое отображается на конвейере и может быть запущено оттуда. Старые версии не могли этого сделать.
Взгляните на плагин Build Pipeline: https://wiki.jenkins-ci.org/display/JENKINS/Build+Pipeline+Plugin.
Вы можете указать задания, которые будут автоматически запускаться или запускаться вручную.
Также, если вам нужна передача параметров между заданиями, вам нужно загрузить плагин Groovy: https://wiki.jenkins-ci.org/display/JENKINS/Groovy+plugin
Чтобы передать параметры, скажем, SVN-ревизия между заданиями, которые вам понадобятся для Выполнить систему Groovy Script в начале вашей сборки. Это пример, который добавит параметр SVN_UPSTREAM, который может использоваться любыми последующими заданиями. ПРИМЕЧАНИЕ. Я заметил проблему с созданием нисходящего задания, которое также имеет систему Groovy script. Кажется, он сбрасывает любые ссылки на исходные параметры, созданные.
import hudson.model.*
def build = Thread.currentThread().executable;
build.addAction(new ParametersAction(new StringParameterValue("SVN_UPSTREAM", build.getEnvVars()['SVN_REVISION'])));
println "SVN_UPSTREAM:" + build.getEnvVars()['SVN_UPSTREAM'];
Существует своего рода обходное решение:
Как только вы вручную рекламируете определенную сборку восходящего задания, он будет запускать сборку последующей работы. Но нисходящее задание не появится на конвейере.
Плагин Build Pipeline может сделать это, но на момент написания этой статьи не в какой-либо выпущенной версии. Я построил плагин из main (rev 392 в то время), который включает patch, упомянутый в этот вопрос, и он работает для меня.
Когда вы установили это, вы сможете использовать в первом задании пост-сборку, называемую "Построить другие проекты (ручной шаг)", и там вы можете настроить параметры, которые будут переданы ко второму (вручную запущенному) конвейерному заданию.
По моему мнению, нет возможности достичь цели
Когда вы запускаете поставку конвейера-трубопровод-плагин, проверяются только параметры первого задания → , а затем отображаются (или нет) экран initParam
Но когда следующий шаг (например, разворачивание) является ручным, и он требует параметров, тогда экран initParam игнорируется Посмотрите на вопрос https://issues.jenkins-ci.org/browse/JENKINS-32336