Как настроить развертывание на сервер / синхронизировать с целью сервера в Maven? - PullRequest
2 голосов
/ 01 октября 2011

Я бы управлял Maven на месте, и это фантастика! Единственная проблема, с которой я столкнулся, заключается в том, что у меня большой стек и у меня есть эти массивные WAR-файлы. Есть ли хороший подход или наилучшая практика в отношении использования Maven в качестве инструмента для синхронизации локальных зависимостей с приложением, запущенным на сервере?

Например, могу ли я как-то создать цель, которая загружает POM и говорит Maven перестроить на стороне сервера? Мы запускаем Linux с обеих сторон. Пристань локально и Tomcat удаленно.

Я уверен, что парни из Apache подумали об этом ... Ваши мысли очень ценятся ...

Ответы [ 2 ]

2 голосов
/ 01 октября 2011

Один инструмент, на который вы можете посмотреть - это cargo , который может взять созданный вами артефакт и установить его на экземпляр удаленного сервера.Cargo можно интегрировать в вашу сборку maven.

Однако, если у вас есть несколько разработчиков, и вы просто хотите, чтобы последняя версия того, что находится в репозитории, развернуто на сервере, я бы посоветовал вам по крайней мере исследоватьсервер интеграции и настройка ручной или ночной работы для выполнения развертываний для вас.Сервер непрерывной интеграции, например Jenkins , может:

  1. Проверить SVN на наличие любых изменений кода (если вы хотите включить опрос SVN)
  2. Выполнить проверку(или отменить + обновить), чтобы получить последний код из SVN.
  3. Создайте файл WAR с помощью сборки maven.
  4. Используйте плагин Jenkins Deploy или шаг после сборки, чтобы развернуть финальный файл.WAR.Позволить Cargo выполнить развертывание через maven во время сборки - это тоже вариант.

Просто некоторые мысли.Я также настоятельно рекомендую Nexus в качестве хранилища артефактов.Поскольку Jenkins может запускать вашу сборку как сборку Maven, вы можете настроить Jenkins для запуска цели развертывания и настроить maven с указанием местоположения развернутого сервера артефактов (расположение Nexus) для сборок, которые нужно отправить.

0 голосов
/ 01 октября 2011

Я думаю, что правильным способом было бы установить получившуюся войну (если это необходимо для каждой конфигурации сервера) в хранилище (не SVN, хранилище Maven, например Nexus ). При этом вы можете настроить простые сценарии или конфигурации maven для развертывания артефактов на тестовом или производственном серверах без необходимости перестраивать их на сервере.

Оформить установку .

...