Несколько локализованных сред - PullRequest
1 голос
/ 26 марта 2012

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

Чтобы объяснить это немного лучше, есть иерархия папок, подобная этой:

|--DEFAULT
   |-- UK
   |-- Malaysia
   |-- India
|--PROD
   |-- UK
   |-- Malaysia
   |-- India
|--DEV
   |-- UK
   |-- Malaysia
   |-- India

Где в каждой папке есть файлы свойств, которые объединяются и перезаписываются на основе выбранной комбинации.(Таким образом, Prod / file будет перезаписывать Default / file, а Prod / UK будет перезаписывать Default / UK, потому что существуют свойства, специфичные для каждого домена и для каждой страны)

Я думаю, что это довольно распространенный сценарий для приложений, особенновеб-сайты, где большая часть кода является обычной, но локализованная конфигурация меняет некоторые функции (например, способы оплаты), но я все еще не смог найти какой-либо передовой опыт или советы по улучшению / упрощению процесса.У кого-нибудь есть предложения?

Приложение построено на Java с Maven и Jenkins для управления зависимостями и CI.

1 Ответ

1 голос
/ 26 марта 2012

Поскольку вы используете Jenkins, вам следует обязательно рассмотреть возможность использования Matrix (Multi-Configuration) Builds. Вероятно, у вас будет две оси: одна зависит от типа окружающей среды, другая - от страны. Преимущество этого подхода состоит в том, что он заставит (или, по крайней мере, подтолкнет) вас вычленить общие черты между конфигурациями, а также аналогичным образом рассматривать различия между ними на основе значений осей. Это также уменьшит количество точек изменения в будущем.

Наиболее серьезным недостатком этого подхода, на мой взгляд, является то, что Matrix Builds еще не являются «первоклассными гражданами» в Jenkins, так как многие плагины плохо с ними справляются, что приводит к ошибкам или отсутствию функций. доступны для регулярных сборок. Другим недостатком является то, что Matrix Build вначале несколько сбивают с толку и требуют привыкания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...