Мы разрабатываем веб-приложение, в котором есть несколько микросервисов в одном репозитории.
Для нашего существующего монолитного c приложения мы разворачиваем наше приложение в Kubernetes, используя Helm и Jenkins. Когда речь идет о микро-услугах, мы пытаемся определить наши стратегии CI / CD Pipeline. Ниже приведены неясные вопросы:
Для монолитного c приложения у меня есть один Dockerfile, один Jenkinsfile и один Helm Chart. Для этапа построения я строю образ (ы), используя следующую команду.
docker.build("registry/myrepo/image:${env.BUILD_NUMBER}"
Для приложения monolithi c у меня есть одна диаграмма с несколькими values.yaml, например values.dev. yaml, values.prod.yaml, который я настроил для нескольких сред.
Итак, наши вопросы:
1.Как мы должны собрать и собрать sh несколько контейнеров для нескольких Dockerfiles в Jenkinsfile для микросервисов? В настоящее время у каждого микросервиса есть свои собственные файлы Docker в своих root.
2. Возможно ли, чтобы Дженкинс выделил guish микро-сервисов, которые мы хотели бы развернуть? Я имею в виду, что иногда, возможно, мы вносили некоторые изменения только для конкретной службы c, и мы хотели бы развернуть эти изменения. Так стоит ли нам организовывать независимый конвейер или есть какой-то способ обработки этого же конвейера?
3. Как нам организовать нашу схему Хелма для развертывания микросервисов Kubernetes? Должны ли мы создавать несколько диаграмм для каждого сервиса или создавать несколько шаблонов, которые ссылаются только на один values.yaml?