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