Лучший способ добавить новые свойства в файл yaml при развертывании новой версии приложения - PullRequest
0 голосов
/ 26 марта 2019

У меня есть приложение весенней загрузки с конфигурацией application.yaml. Например, это выглядит так:

my-server
 host: localhost
 port: 8080
 time-out-in-seconds: 60
 user:
  name: Eddy
  login: Eagle

Я запускаю это приложение в пяти разных компаниях. Каждая компания имеет индивидуальные функции: хост , порт и т. Д. Для каждой компании я создаю новую конфигурацию yaml с переопределением некоторых свойств. Например, этот конфиг для A компании:

-a.yaml

my-server
     time-out-in-seconds: 120
     user:
      name: AUser
      login: SomeLogin

Этот конфиг находится рядом с jar file

Server
 -server.jar
 -a.yaml

В процессе разработки мне нужно добавить новое свойство в config ( application.yaml ):

my-server
  host: localhost
  port: 8080
  region: foo

регион: foo - это новая собственность. И это свойство должно быть переопределено в каждом company.yaml. Мне нужно добавить это свойство к a.yaml(region: foo), b.yaml(region: bar) и другим.

Все это усложняет обновление. При каждом развертывании я должен помнить, есть ли какие-либо новые поля в конфигурации или нет. И если есть - мне нужно добавить это свойство к каждому company.yaml. Я могу случайно пропустить некоторые свойства.

Есть ли какой-нибудь механизм для этого? Как-то автоматизировать? Слияние, версии или т. Д.?

1 Ответ

0 голосов
/ 04 апреля 2019

Несколько вопросов:

  1. Есть ли опция сохранения конфигураций вне сервера?
  2. Всегда ли вам необходимо переопределить все файлы yaml или вы можете указать значение по умолчанию, а затемтолько те файлы, которые нужны?1012 *.Оба варианта предлагают переопределение свойств.

    Можно указать сервер каждого клиента в другом профиле конфигурации.Вы можете иметь базовую конфигурацию для всех пользователей.Хранение конфигураций вне вашего сервера упростит развертывание и позволит вносить изменения без повторного развертывания службы.

...