Мы работаем над старым проектом, который состоит из нескольких приложений, которые все используют одну и ту же базу данных и сильно зависят друг от друга.Из-за размера проекта мы не можем реорганизовать код, чтобы все они использовали API в качестве единого источника базы данных.Платформа содержит следующие приложения:
- Веб-сайт
- Администратор / CMS
- API
- Cronjobs
RightТеперь мы хотим начать реализацию конвейера CI / CD с использованием Gitlab.В настоящее время у нас возникают проблемы, поскольку мы не можем обновить базу данных для развертывания одного приложения, не нарушая все другие приложения (если мы не развернем все приложения).
Я думал о решении, в котором один конвейер запускает вседругие трубопроводы.Каждый конвейер выполнит все добавленные миграции баз данных и проверит, работает ли конвейер так, как должен.Если все конвейеры завершатся успешно, начнется развертывание всех приложений.
Я сомневаюсь, что это хорошее решение, потому что это изменение только увеличит и без того высокую связь между нашими приложениями.Кто-нибудь знает лучшее решение, как реализовать CI / CD для нашей платформы?