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