У меня есть несколько проектов Java, которые используют конфигурацию Apache Commons, и они развернуты на нескольких серверах в нескольких средах (dev / test / prod).
Весь код одинаков, но некоторые элементы конфигурации изменяются, напримеркак URL-адреса JMS (dev должен указывать на dev и т. д.), а также имя сервера и окружение (я использую эти элементы конфигурации для отладки).
Пример:
<config>
<!-- environment can be dev|test|prod -->
<environment>dev</environment>
<serverName>myServer1</serverName>
<jmsUrl>http://my-jms-url-dev1,http://my-jms-url-dev2</jmsUrl>
</config>
В настоящее время яРазверните, соберите, затем отредактируйте файлы вручную, чтобы обеспечить специфичные для сервера конфигурации.Мне нужен способ автоматизации этого процесса при развертывании его на отдельных серверах, но все способы, которые я рассмотрел, требуют одинаковой сложности при настройке.
ANT - ознакомьтесь с проектомс SVN и построить его на каждом сервере с ANT.ANT считывает имя сервера и среду из двух статических файлов - .servername и .environment - и копирует специфическую для сервера конфигурацию в общую конфигурацию.Проблема в том, что мне все еще нужно создать файл конфигурации для каждого сервера (у меня 24 сервера, и это может увеличиться, поэтому масштабируемость не очень хорошая).
SVN - Branchкаждый из моих проектов для конкретного сервера.Здесь масштабируемость хуже, и поддерживать ее становится кошмаром.
У кого-нибудь есть какие-нибудь советы для меня?