Я ищу решения, предпочтительно с открытым исходным кодом, которые могут управлять развертыванием нескольких взаимозависимых веб-приложений Java.
Решение требует возможности создавать и хранить спецификацию выпуска, содержащую несколько элементов для версий отдельных версий каждого приложения и соответствующих других артефактов (конфигурацию базы данных, конфигурацию Apache и т.д.).
Затем спецификация должна быть проанализирована, и каждый элемент затем должен быть развернут/выполнен в целевой среде. Целевая среда основана на Linux. Веб-приложения - это ванильные войны, запущенные на стандартном сервере приложений j2ee.
Сколько спросить?
В настоящее время я думаю, что все биты на месте - бинарные артефакты выпущены с плагином maven release и, следовательно, доступны из нашего maven repo для развертывания, database имеет версию dbdeploy, а версия apache - версия svn. Однако я не знаю ни одного инструмента, который мог бы объединить все эти шаги в несколько приложений.
Мой текущий предпочтительный подход заключается в использовании формы параметризованной сборки для hudson для создания спецификации. Затем вторая параметризованная сборка, чтобы выбрать предварительно созданную спецификацию и развернуть/выполнить ее в выбранной среде.
Однако это, кажется, большая работа и менее оптимальное решение.
Кто-нибудь знает какие-либо готовые лучшие идеи? или предложения по тому, как подойти к этому - может быть, механизм работы будет лучше, чем hudson? возможно, пользовательское веб-приложение?
Примечания:
Целевые среды предварительно созданы с учетом всех требований - например, java и сервер приложений, работа с базой данных и т.д. Это меньше вопрос конфигурации среды и вопрос о развертывании.
Автоматизация развертывания отдельных приложений является проблемой со многими решениями, например. груз, ant сценарии развертывания и т.д. Однако мне нужно что-то, что может обернуть несколько развертываний. Например. запускать груз по конкретным версиям нескольких приложений и их требованиям.