В последнее время я работаю над решением SaaS для предприятия.Весь продукт структурирован как 3 приложения: Back-end:
- API
- Модуль автоматизации (в основном набор крон и очередей заданий)
Front-end
Мы начинаем работать с различными клиентами, которым требуется базовая настройка «экземпляра» их продукта, такая как шаблоны электронной почты, различные настраиваемые правила (в какой-то момент будет абстрагироваться в раздел администратора), различные уведомления, изменения стиля и т. д.
На данный момент мы являемся довольно небольшим и скудным стартапом, поэтому разрабатываем полноценный раздел администратора / конфигурации для продуктана данный момент время потрачено впустую (если у вас есть возражения, пожалуйста, укажите их).
Меня интересует, какой тип установки (структура кода, связанные с devops вещи и т. д. - в основном весь пакет)подходить для того, чтобы иметь одинаковую кодовую базу для всех разновидностей приложения (всех трех), но с небольшими изменениями (например, упомянутыми ранее).
В настоящее время установка основана только на git, без поддержки CI / CD в приложениях.У нас есть ветка variation / customer_name / environment , в которой мы объединяем изменения из основной ветки environment .Это действительно подвержено ошибкам, поскольку у нас нет схемы управления версиями для различных версий клиентских приложений и нет автоматической системы развертывания.У нас есть настройка компакт-диска в основной кодовой базе с использованием GitLab.
Знаете ли вы какие-либо передовые практики / идеи / ресурсы, которые могли бы помочь мне в этом квесте?