Что бы вы использовали для сценариев развертывания в Java? - PullRequest
7 голосов
/ 22 мая 2010

Я работаю над веб-проектом Java, который использует Maven для создания своих артефактов.В конце сборки Maven у нас есть несколько файлов jar и war, которые нам нужно развернуть в нашей среде разработки / тестирования.

Сейчас мы используем довольно здоровенный скрипт Ant, который выполняет несколько задач (вобе машины под управлением Windows / Linux)

  • Запуск / остановка служб
  • Копирование / удаление файлов
  • Сборка некоторых элементов, а затем их выполнение
  • И т.д.1012 *

Муравей хорошо справляется со своей задачей - но сценарий быстро становится очень большим, и, честно говоря, он не подходит для стоящей задачи.

Есть ли другие альтернативы?Я слышал о Gant, но я не уверен, что это правильный путь.

Спасибо за помощь!

РЕДАКТИРОВАТЬ: после дополнительных исследований я узнал о Gradle - кажетсякак очень хорошая комбинация повторного использования задач муравья и запуска реальных сценариев.Это стоит прочитать.

Ответы [ 4 ]

4 голосов
/ 22 мая 2010

Да, взгляните на плагин Cargo для maven:

* Deploying to a running container
* Generating a container configuration deployment structure
* Merging WAR files
* Starting and stopping a container

Hudson - механизм непрерывной интеграции - также может использоваться для решения этих задач.

3 голосов
/ 22 мая 2010

Развертывание в целом непросто (и часто очень специфично), и хотя плагин Cargo maven может помочь для удаленного развертывания war / ear (если удаленное развертывание для вашего сервера приложений реализовано), не думайте, что это покроет все ваши потребности. На самом деле, трудно быть очень точным, так как вопрос расплывчатый, поэтому я просто дам несколько советов. Посмотрите на такие решения, как:

0 голосов
/ 03 марта 2017

Похоже, что это открытый вопрос и в 2017 году. Поиск «сценария развертывания java» указывает сначала на этот вопрос, а также на Ant и несколько других не связанных между собой статей.

Проект, над которым я работаю на момент написания этой статьи, содержит 6-7 JAR-файлов, которые мы помещаем в папку lib / tomcat, и 20-30 небольших WAR-файлов, которые мы помещаем в webapps /. У нас есть сценарий развертывания, который загружается с сервера Bamboo и расширяет архив, содержащий все, но его нельзя использовать во время разработки. А развертывание всего этого вручную - кошмар.

Итак, я запустил свой собственный скрипт на Python, который первоначально развернул бы несколько JAR-файлов и WARS для экземпляра tomcat.

Теперь это кроссплатформенный инструмент развертывания (протестирован на Windows и Mac), независимый от языка и сервера, настраиваемый с помощью файла JSON. Может:

  • Копирование и удаление библиотек и приложений

  • Запуск локальных и удаленных (через SSH) команд

  • Сделать паузы

Поскольку вы можете запускать команды на удаленном сервере, вы можете многое сделать с помощью команд оболочки (мы используем их для запуска / остановки tomcat, ожидания его запуска / остановки, удаления журналов и т. Д.).

Сценарий развертывания находится на GitHub .

0 голосов
/ 22 мая 2010

Если это большая задача, вы всегда можете написать задачи ant на Java или Jython и вызывать их из ant.

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