Ежедневная работа Дженкинса
В нашей реализации непрерывной интеграции мы создаем новый файл WAR/Jar каждые несколько минут и разворачиваем его в хранилище снимков Nexus в качестве передового кандидата. это работает удовлетворительно.
Мы также выполняем много автоматизированных тестов качества (findbugs, junit и т. Д.) В качестве последующих заданий, эти задания выполняются намного дольше и иногда регрессируют. Только когда нет регрессии / сбоя QA, мы хотим рассматривать артефакт как Релиз.
Однако, используя нижестоящее задание в исходной сборке (которая создала снимок и заархивировал артефакт в jenkins), мы в конечном итоге получили доступ ко многим выпускам.
Итак, мы ищем какой-то способ сделать ежедневную работу "основной", чтобы мы могли использовать продвигаемые сборки для ежедневного выпуска.
Диаграмма ниже показывает, что мы пытаемся сделать
Create_snapshot
|
--+----+------+--
| |
quick-regression |
| |
--+--------+-----+---+-- |
| | | |
Findbugs Integration Junit |
| test tests Daily-trigger
| | | |
| | | |
| | | |
| | | |
---+--------+----+----+-------+--
|
Deploy-as-release
1 ответ
Используете ли вы плагин Join для запуска трех тестовых заданий после задания быстрой регрессии?
Потому что с помощью этого плагина вы можете запускать 3 тестовых задания и, если они успешны, вы можете запускать задание развертывания как релиза.
Если вы хотите создавать только один выпуск в день, вы можете использовать плагин Conditional BuildStep (в задании deploy-as-release), чтобы ограничить количество выпусков.
Будет ли это решение работать на вас?