2015-11-30 8 views
0

У меня есть сценарий развертывания, выполненный в Дженкинснужен Дженкин плагин для поддержки как последовательные и параллельного trigerring

Если лицо Срабатывающего развёртывания build1 в среде QA уже, он не должен позволять Person B, чтобы вызвать те же построить в той же среде.

Но развертывание Build1 может запускаться в других средах, таких как Stage.

Build1, Build2 Может быть запущен параллельно в одной и той же среде -> Здесь разрешено инициирование Parrallel Build1 Невозможно запускать параллельно в той же среде -> Здесь запуск Parrallel не допускается.

Пожалуйста, не выполняйте это задание только с помощью сценария оболочки, и одно задание поддерживает несколько сред.

Любой может помочь мне найти плагин jenkin или способ его обработать, пожалуйста?

ответ

0

Вы можете попробовать Throttle Concurrent Builds Plugin

  1. Установите его.
  2. В вашем build1 работу установить «Максимальная Параллельное Строит на узел» к .
  3. Настройте два подчиненных Jenkins, один для QE env, а другой для Stage env, оба с не менее двумя исполнителями.
  4. Не забудьте включить параллельные сборки в ваших рабочих местах, где это необходимо (для этого есть отдельный флажок).

После этого build1 работы не будет планироваться на том же узле, даже если есть свободные исполнители. В то же время другие рабочие места смогут свободно использовать их.

+0

Благодаря izzekil, я уже прошел через этот плагин Throttle, но не был полностью убежден в этом. При таком подходе, если у меня есть «n» среды, тогда у меня должно быть «n» slaves? –

+0

Да, это так. Для меня это кажется естественным подходом к вашим потребностям, поскольку рабы различаются, но не исполнители внутри раба. – izzekil

+0

Еще раз спасибо, позвольте мне попробовать ... Еще одна вещь: есть ли способ получить консоль из последних 10 заданий триггеров в jenkins через командную строку? В настоящее время я использую команду curl для последней сборки, вызванной, например, ниже curl --user 'username: password' "https: // URL/jobname/lastBuild /?" Есть ли такие команды для запуска последних «n» заданий? –