Развертывание только различий в Webapp с Maven на удаленном сервере - PullRequest
15 голосов
/ 05 июня 2011

Я использую Cargo: развертывание с Maven для развертывания приложений на серверах.Это хорошо работает, но я недавно пытался использовать CloudBees.У них есть аналогичный плагин для их инфраструктуры.Тем не менее, он развертывает только различия между старой и новой WAR, поэтому он значительно быстрее.В тех случаях, когда Cargo: deploy занимает от 4 до 6 минут, метод CloudBees занимает менее минуты.

Существуют ли плагины для Maven, которые позволят мне развертывать только свои изменения на моем собственном сервере приложений?Прямо сейчас я использую Tomcat, но подумал бы о переключении серверов приложений, если бы было хорошее решение для чего-то другого.

Ответы [ 3 ]

2 голосов
/ 14 августа 2012

Вам нужна поддержка на стороне сервера для получения дельты, и именно здесь мы (облачные пчелы) можем вызвать наш секретный соус.

Вам понадобится служба развертывания на целевом сервере, которая понимает, какой загружается дельта-формат.

Это не сложно сделать в некоторых отношениях ... Война имеет встроенные контрольные суммы, поэтому, если запись в войне имеет тот же путь, последний измененный, Crc и размер, то это хороший кандидат на исключение из дельты, так что вы берете более безопасный хеш или два (например, sha-256 и md5, чтобы дать различным функциям для сравнения), и если эти хеши одинаковы! Исключить из дельты.

Необычное веб-приложение для развертывания tomcat может поддерживать такое развертывание, но вы захотите заблокировать его для производства, но в любом случае, зачем размещать себя, когда можете GSETDIFY

0 голосов
/ 29 августа 2012

Я обнаружил, что у меня возникают ошибки памяти на сервере после нескольких развертываний груза. Вы можете использовать расширение ssh maven wagon. Это могло загрузить основанное на расширенной войне. Вот документация об использовании:

http://mojo.codehaus.org/wagon-maven-plugin/usage.html

Но не уверен, как заставить его загружать только измененные файлы. В ant был компонент файлового кэша, который кешировал контрольную сумму файлов и перезагружал ее только в случае изменения контрольной суммы.

Даже после того, как вы загрузили файлы, может потребоваться перезагрузка, поскольку tomcat не очень хорош при горячем развертывании.

0 голосов
/ 14 июня 2011

Если вас интересует только Tomcat, вы можете использовать Tomcat Plugin для Maven

Это не сложно настроить, просто проверьте URL приложения Tomcat Manager, потому что он изменен с Tomcat 6 (http://tomcat_server:8080/manager/) на Tomcat 7 (http://tomcat_server:8080/manager/html).

)

Плагин запускается после фазы сборки пакета, поэтому он выполняет прямое развертывание сгенерированной войны на удаленном сервере, на котором работает Tomcat.

...