2016-06-19 1 views
0

У меня есть два набора заданий Дженкинса для запуска сквозных тестов - по одному для каждой из двух платформ баз данных.Как я могу запустить задание Дженкинса на основе того, что по существу является истинным/ложным состоянием?

У нас только один сервер веб-приложений, поэтому мы хотели бы отключить платформу базы данных один или два раза в день.

В настоящее время при наличии только одной платформы базы данных сквозная тестовая работа срабатывает при успешной регистрации. Тем не менее, с двумя наборами тестовых заданий «конец в конец» мы хотели бы запустить соответствующий набор заданий в зависимости от того, какая база данных находится на месте. Есть ли способ сделать это?

ответ

1

Абсолютно. Несколько способов сделать это тоже.

Если у вас есть одно задание, которое может работать как набор тестов

  1. Самый простой в ГРОК является использование шаг сборки, чтобы выяснить значение истинного/ложного состояния и установить его в переменную среды, которую могут использовать последующие этапы. Это хороший способ прототипа, прежде чем перейти на более простые в обслуживании или более гибкие альтернативы.

  2. Вы можете использовать параметр построения, чтобы передать значение заданию. Плагин Jenkins Parameterized Build предоставляет несколько интерфейсов для этого: вы можете сделать это через графический интерфейс, через API-интерфейс остального или через этап после сборки в другом задании.

  3. Вы можете использовать groovy-скрипт в сочетании с Pipeline/Jenkins 2, чтобы выбрать, какой узел сборки (или шаг) выполнить. Эта логика может войти в ваш источник управления как файл Jenkins.

Есть несколько других способов сделать это, но это те, которые изначально выбираются. Я предлагаю идти с # 1 для прототипирования, затем выбрать между двумя другими в зависимости от того или нет вы уже используете Pipeline/Jenkins 2.

Если у вас есть два рабочих места и нужно выбирать между ними

В Решение Pipeline/Jenkins 2 хорошо работает здесь. В Jenkins 1 вы можете использовать плагин Parameterized Build, который может запускать сборки на основе статуса задания (так что вы, если это «mongoDb» задание не работает, вы запускаете тесты SQL и т. Д.), Но опция Pipeline - это то, что я ' Рекомендую.