Как продвигать конкретный номер сборки с другой работы в Jenkins?



Я установил Promoted Build Plugin с Jenkins и теперь я столкнулся с некоторыми проблемами, чтобы продвинуть сборку из существующей работы. Вот сценарий:




  1. существует Nightly Build задание, которое выполняется каждую ночь с запуском всех необходимых тестов и метрик;



  2. существует Deploy Build который принимает параметр ${BUILD_NUMBER} и развертывает сборку, имеющую соответствующий ${BUILD_NUMBER Nightly Build




    • скажем, [Nightly Build] побежал и успешно построил артефакт #39

    • теперь я могу просто запустить [Deploy Build], передавая #39 в качестве параметра


      • артефакты из [Nightly Build] #39 будут развернуты






пока все хорошо. Теперь это та часть, где я хочу добавить Build Promotions...



This is exactly what I need to achieve



есть ли способ продвинуть Nightly Build #39 (обратите внимание, что он уже был построен до) от Deploy Build? Или, может быть, даже откуда-то еще, откровенно говоря, я здесь потерялся :(



Я не вижу их с четким восходящим / нисходящим отношением, потому что у них нет: всегда запускает эту сборку, а затем другую во время выполнения - [развертывание сборки] выполняется иногда только и не всегда после [ночной сборки].

751   1  

1 ответ:

обновление с версии 2.23 параметризованного триггерного плагина:

С версии 2.23+ поведение изменилось (спасибо AbhijeetKamble за указание). Любой параметр, который передается через Стандартные Параметры вызова (build) задание должно существовать в вызываемом (развернуть) работы. Кроме того, применяются ограничения параметров вызываемого задания, поэтому если вызываемый параметр задания-это выбор, он должен иметь все возможные значения (из рекламных акций) предварительно заполнены. Или просто использовать текст тип параметра.

решение

Да, у меня точно такая же настройка: a build задание (на основе коммитов SVN) и выполняется вручную развернуть работа. Когда пользователь выбирает любую сборку из build работа (включая более старые сборки), они могут затем перейти к продвижение Статус ссылка и выполнение различных развернуть акции, например развертывание в DEV,развертывание в QA, etc

вот как настроить продвижение сайта на build задание:

  • вам понадобятся эти плагины:Параметризованный Триггер Плагин,Продвигаемый Плагин Сборки
  • вам также нужно будет установить значение по умолчанию архив артефактов действие после сборки в этом задании сборки.
  • галочка продвигать сборки, когда
  • определение имя "развертывание в DEV"
  • под критерии галочка только при ручном утверждении
  • под действия использовать триггер / вызов строится на других проектах
  • In проекты строительства введите имя для вашего развернуть здесь задание
  • галочка блокируйте, пока запущенные проекты не закончат свои сборки
  • отметьте эту сборку как сбой, если запущенная сборка хуже или равна: сбой (настройка в соответствии со статусами задания развертывания)
  • стандартные параметры (Код)

Код A:

Server=IP_of_my_dev_server`  
Job=$PROMOTED_JOB_NAME`  
BuildSelection=<SpecificBuildSelector><buildNumber>$PROMOTED_NUMBER</buildNumber></SpecificBuildSelector>

выше, в стандартные параметры раздел, имя слева от = - это параметры, которые определены в вашем развернуть работа. А справа от = находятся значения, которые будут присвоены этим параметрам при выполнении данной акции. Определяет три параметра Server,Job и BuildSelection.

параметр Server= Это мой собственный, так как моя работа развертывания может развернуть на несколько серверов. Однако, если ваш развернуть работа жестко всегда развернуть в определенном месте, вам это не понадобится.

The Job= параметр является обязательным, но имя param зависит от того, что вы настроили в вашем развернуть работу (я объясню конфигурацию там). Значение $PROMOTED_JOB_NAME должен оставаться как есть. Это переменная среды, о которой знает процесс продвижения и которая ссылается на имя вашего build работа (та, где настроен процесс продвижения)

The BuildSelection= параметр является обязательным. Вся эта линия должна остаться как есть. Переданное значение $PROMOTED_NUMBER, о чем в очередной раз знает промоушен. В вашем примере, это будет #39.

The блокируйте, пока запущенные проекты не закончат свои сборки флажок заставит процесс продвижения ждать, пока развернуть закончил работу. Если нет, то процесс повышения по службе вызовет задание развертывания и завершится успешно. В ожидании развернуть работа отделка имеет то преимущество, что если развернуть работа терпит неудачу, звезда промотирования будет отмечена с отказом слишком.

(одна маленькая заметка здесь: звезда продвижения появится успешно пока the развернуть задание выполняется. Если произошел сбой развертывания, он изменится на сбой только после развернуть закончил работу. Логический... но может быть немного запутанным, если вы посмотрите на звезду продвижения перед развертыванием завершено)

вот как настроить развернуть задание

  • вам понадобится копировать артефакты плагин
  • под эта сборка является параметризованным
  • настройка параметра типа выбор (или текст) С имяServer (это имя должно совпадать с конфигурацией в акции Стандартные Параметры в предыдущих раздел)
  • Choices: введите список возможных IP-адресов серверов, которые будут использоваться в акции Стандартные Параметры в предыдущем разделе (см. Примечание ниже)
  • настройка параметра типа выбор (или текст) С имяJob (это имя должно совпадать с конфигурацией в акции Стандартные Параметры в предыдущем разделе)
  • выбор: введите имя ваш build работа, как по умолчанию. это необходимо только в том случае, если вы запускаете развернуть работа вручную. Когда развернуть работа запускается из продвижения, продвижение будет поставлять значение (the Job= С стандартные параметры что мы настроены). Кроме того, если нет значения, переданного из акции стандартные параметры, будет использоваться первое значение выбора. Если у вас есть отношения 1-к-1 между элемент build и развернуть задания, вы можете опустить Job= параметр в конфигурации акции.
  • обновление:начиная с версии 2.23 параметризованного триггера доступный выбор в развернуть конфигурация задания должна иметь все возможные значения, исходящие из предопределенных параметров акции. Если вы не хотите этого ограничения, используйте "текст" вместо "Выбор"
  • настройка параметра типа построить селектор для копирования артефакта С имя:BuildSelection
  • Селектор По Умолчанию: последняя успешная сборка
  • под построить шаги
  • настроить копировать артефакты из другого проекта
  • In название проекта введите ${Job}
  • At построить выбрать Specified by a build parameter
  • In Имя Параметра введите BuildSelection (без ${...}!)
  • настроить остальные соответственно для ваших артефактов, которые будут скопированы из build задание развернуть рабочее пространство работы
  • используйте скопированные артефакты внутри развернуть работа, как вам нужно, чтобы развернуть

Итак, теперь, с выше развернуть работу, вы можете запустить его вручную и выберите какой номер сборки от build задание, которое вы хотите развернуть (последняя сборка, последняя успешная, по номеру сборки и т. д.). Вы, вероятно, уже настроили его очень похоже. Элемент продвижение на build работа будет в основном выполнять то же самое, и предоставить номер сборки, основанный на том, что продвижение было выполнено.

Дайте мне знать, если у вас есть какие-либо вопросы с инструкциями.

Comments

    Ничего не найдено.