Дженкинс - условия между этапами сборки - PullRequest
4 голосов
/ 16 мая 2011

Я хочу построить проект Maven с использованием Jenkins.Однако проект должен быть собран только в том случае, если определенный файл в репозитории SVN изменился (и содержит специальный ключ)

Поэтому я планирую создать задание с двумя этапами сборки:

  • на первом шаге выполняется сценарий оболочки или python, который проверяет это «условие».

  • второй шаг - это фактическая сборка Maven

Второй шаг должен вызываться только в том случае, если проверка условия на шаге 1 вернула значение «true».

Есть ли возможность сделать это?Ну, я думаю, я мог бы вернуть код выхода 1 в первом скрипте, если условие не выполнено.Это сразу остановит сборку, но задание будет помечено как «не выполнено».Так что это не очень хорошая идея, так как красный значок вызывает у моих пользователей панику; -)

Есть еще какие-нибудь идеи по этому поводу?

Приветствия, Фрэнк

1 Ответ

3 голосов
/ 16 мая 2011

Мы делаем нечто подобное с нашей собственной установкой Jenkins.

У нас есть триггерное задание, которое периодически контролирует SVN. Когда в SVN происходит изменение, задание триггера выполняет свои шаги сборки. Один из этапов сборки исследует некоторые аспекты кода и решает, нужна ли сборка или нет. Если это необходимо, он использует CURL, чтобы инициировать запуск проекта "build". Проект «build» получает исходный код и выполняет сборку - он не заботится о том, нужно ли его собирать или нет, - он всегда делает.

Разделение двух задач также облегчает запуск сборки вручную, не беспокоясь о том, что сборка должна начинаться и останавливать сборку.

...