Я хочу развернуть платформу непрерывной интеграции на основе Jenkins. Поскольку у меня есть различные проекты (PHP/Symfony, node, angular, ...), и поскольку я хочу, чтобы эти тесты выполнялись как локально, так и на Jenkins, я думал об использовании контейнеров Dockers.Запуск тестов Jenkins в контейнерах Docker из dockerfile в кодовой базе
Процесс я и добиваюсь является:
- запрос Слияние открыт на Github/Gitlab
- webhook уведомляет Дженкинс запроса слияния
- Дженкинс вытягивает репо, строит контейнеры и запускает сценарий оболочки для выполнения тестов
- После завершения тестов Дженкинс извлекает результаты из одного из контейнеров (через общий том) и обрабатывает результаты.
Я не хочу, чтобы Дженкинс был в контейнере.
С таким процессом я надеюсь, что вы сможете легко запускать тесты на каждой машине для разработчиков с чем-то вроде docker-composer up
, а затем в одном из контейнеров ./tests all
.
Я не очень хорошо знаком с Дженкинсом. Я прочитал много документации, но большинство из них предложили заранее определить рабов Дженкинса для каждого вида проектов. Я бы хотел, чтобы все было настолько динамичным, насколько это возможно, и требовать от Дженкинса как можно меньше конфигурации.
Я был бы признателен за описание вашего тестового процесса, если вы когда-либо реализовали нечто подобное. Если вы думаете, что я стремлюсь, это невозможно, я также был бы признателен, если бы вы могли объяснить мне, почему.