Различный триггер для сборок, запускаемых вручную, и сборок, запускаемых по таймеру - PullRequest
0 голосов
/ 18 января 2012

Упрощенно, у меня есть проект "build release" (BR) в Jenkins, который проверяет и создает код, и проект "FBT", который тестирует этот код.

Ночью проект BR запускается таймером, и мне нужен проект BR, чтобы запустить проект FBT, когда он будет завершен. Однако, если я запускаю проект BR вручную, я не хочу, чтобы впоследствии был запущен проект FBT, потому что это требует слишком много ресурсов от сервера сборки.

Есть ли способ добиться этого в Дженкинс?

1 Ответ

1 голос
/ 19 января 2012

Пара способов решения этой проблемы:

Раствор 1

  1. Добавьте параметр в ваш проект BR, логическое значение TriggerFBT. По умолчанию установлено значение CHECKED.
  2. В проекте BR используйте Условный плагин BuildStep , чтобы проверить параметр TriggerFBT. Если это возможно, добавьте шаг сборки ( Параметризованный плагин триггера ), чтобы запустить задание FBT. Обратите внимание, что вы хотите сделать это как STILD STEP, а не как пост-сборку / публикацию.

Когда вы вручную запускаете задание BR, вам нужно помнить, чтобы снять флажок с параметра TriggerFBT. Поскольку TriggerFBT установлен по умолчанию, когда проект BR запускается через таймер, проект FBT в конечном итоге запускается.

Решение 2

  1. Удалить триггер таймера из проекта BR.
  2. Создайте новую работу - назовите ее TimerBR. Добавьте триггер таймера в TimerBR.
  3. На этапах сборки используйте Параметризованный триггерный плагин , чтобы сначала выполнить проект BR, дождаться его завершения, затем выполнить проект FBT.
...