Моя структура приложения
Я занимаюсь разработкой приложения для арендатора в сервис-ориентированной архитектуре с развертыванием с использованием kubernetes и Jenkins. В моем приложении 15-20 микросервисов, разрабатываемых с использованием пружинной загрузки. Каждый микросервис необходимо развертывать отдельно для разных клиентов. Если у меня 5 клиентов, мне нужно развернуть 15 микросервисов для этих 5 клиентов. Это описание моей модели аренды.
Планирование развертывания
Для этого приложения я планирую использовать kubernetes и Jenkins для развертывания и реализации конвейера CI / CD.
Мои выводы
Природа моего приложения заключается в создании изображений для разных клиентов из одного и того же кода с использованием функциональности активного профиля сервера конфигурации Spring Cloud. Средства. В моем файле Docker я запускаю конкретное изображение, определяя, какой профиль является активным. Как следующее,
java -jar -Dspring.profiles.active=<Profile_Name> dbdata-0.0.1-SNAPSHOT.jar
Здесь я настраиваю профиль в конфигурационном сервере. Поэтому здесь я использую один и тот же код для создания нескольких изображений, принадлежащих каждому клиенту.
Путаница
Если я придерживаюсь этого стиля, как я могу создавать и запускать разные образы из одного и того же репозитория кода с помощью Jenkins? Можно ли запустить несколько изображений с помощью Jenkins из одного и того же репозитория кода?
Итак, как я могу понять создание и развертывание нескольких образов согласно приведенной выше структуре приложения?