@topuserman

CI: Как внедряют непрерывную интеграцию в сложные монолитные системы?

Всем привет, начал изучать тему CI/CD, и в процессе обучения сразу начинаю представлять, как это может быть использовано в нашем проекте.

У нас большая и сложная монолитная система, без докера и прочего.
У каждого разработчика есть своя копия dev-среды.

Сейчас план минимум: сделать так, чтобы при git pull, в зависимости от разработчика, ветка автоматически заливалась на его dev-среду для тестирования — здесь все понятно, никакой магии.

И второе, это автоматический запуск тестов, при определенных действиях, например принятие merge-request с мастером.

Что мне непонятно:

Чаще всего, в обучающих материалов пишут, что перед запуском тестов Создается Сборка и уже в ней запускаются тесты. Вроде логично, но в этой модели непонятно как создавать сборку, если у нас крупный монолит, с кучей зависимых сервисов ? Как это вообще решается ?

Неужели для этого нам придется все переносить на докер, чтобы можно было простым образом развернуть ?
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 1
@vitaly_il1
DevOps Consulting
CI работает и с монолитом, и с микросервисами.

И второе, это автоматический запуск тестов, при определенных действиях, например принятие merge-request с мастером.
Что мне непонятно:
Чаще всего, в обучающих материалов пишут, что перед запуском тестов Создается Сборка и уже в ней запускаются тесты.


Начните с простого: напишите последовательность шагов, которые вы сегодня запускаете вручную, чтобы собрать приложение. И задеплоить (хотя формально это уже CD).
А потом думайте-проверяйте, как перенести этот сценарий в выбранный сервис CI.

Конкретно насчет тестов - о каких тестов идет речь? Unit? Integration? End-to-end?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы