Я работаю над переносом приложения на новую хостинговую инфраструктуру.
В настоящее время у меня есть профили, подобные этому:
Каждый из них имеет соответствующие биты конфигурации для таких вещей, как JMS-брокеры и т. Д. c.
Я сейчас работаю над создание нового экземпляра концептуального экземпляра этого приложения на новой хостинг-инфраструктуре.
Я хочу, чтобы локальные экземпляры работали без изменений (не нужно настраивать их активные профили), но добавлю еще cloud
профиль для моих экземпляров на новом хостинге.
Моя цель - настроить конфигурацию, подобную этой, но мне пока не очень повезло:
Для самого приложения запустите его с spring.profiles.active=dev,cloud
вместо spring.profiles.active=dev
, как я делаю сейчас.
В моем application.yaml
:
---
# default config, applicable to all environments, goes here
---
spring:
profiles: cloud
# config common to all hosts on this new hosting platform goes here
---
spring:
profiles: cloud & dev
# this is the bit that isn't applying, but should have overrides of some details for when the dev env is on The Cloud
---
spring:
profiles: dev
# the current on-prem dev instance; my goal is to have some config here apply both on prem and
# in the cloud, but have the cloud config override some of this in specific instances
Альтернативное решение, которое я вижу, - go для развертывания Конфигурация всех моих предварительных экземпляров и добавление нового профиля on-prem
для каждого (например, on-prem,dev
, on-prem,qa
, & on-prem,prod
), sh Если что-то, что предварительно указано, задает c в новых on-prem & dev
и др. c профилях в YAML и сохраняет все, что встречается в обоих профилях, в голом dev
профиле ... возможно, это как раз то, что мне нужно делать, но предложения будут оценены.