2014-09-03 3 views
0

Я разрабатываю приложение Java на tomcat с Eclipse. Проблема в том, что когда я должен развернуть его на моем удаленном сервере, я должен загрузить файл .war, который содержит также все библиотеки, поэтому загрузка медленная, даже если изменяется только небольшая часть моего кода. Есть ли способ загрузить и развернуть только исходный код приложения?Загрузите только исходный код на удаленном развертывании Tomcat

+0

Вопрос не в том, но ответ может сработать для вас: http://stackoverflow.com/questions/4257647/simple-way-to-create-patch-on-deployed-grails-application –

ответ

1

Хорошо, зависит от того, насколько велико ваше развернутое решение и насколько важно минимизировать время простоя. В основном это выглядит следующим образом:

  1. Постройте двоичные файлы
  2. Остановите веб-приложение
  3. Скопируйте файлы (папку по умолчанию для развернутого кота веб-приложений в/WEB-INF)
  4. Запустите веб-приложение

Вы можете пропустить 2 и 4, но если у вас есть большое веб-приложение, это может привести к переработке, которая заставляет память использовать крышу, а веб-приложение становится непригодным - вы этого не хотите. Я использую нечто более сложное, потому что я не могу позволить себе долгого простоя.

  1. Строить ваши двоичные файлы
  2. Остановите постановку веб-приложение
  3. Скопируйте стадирование файлы
  4. запустить веб-приложение постановки
  5. обмена веб-привязки так постановка становится новым живым веб-приложение
  6. Остановить новое промежуточное веб-приложение
  7. Копирование промежуточных файлов
  8. Запустить веб-приложение

Веб-приложение и промежуточное приложение совместно используют базу данных и папку содержимого.

В любом случае вы можете сделать это вручную или автоматически. Лично я предпочитаю делать вещи автоматически, но это только предпочтение. Кроме того, все может и в конечном итоге потерпеть неудачу, поэтому очень полезно использовать рабочую резервную копию живой среды, которую вы можете обменять.

Если вы используете ANT, вы можете использовать sshexec task.

+0

Спасибо Маргус, но я не понимаю ... Как я могу автоматически копировать только скомпилированные файлы на моем удаленном сервере? – zuno

+1

Вы копируете их через ssh (или небезопасный ftp). ANT (http://ant.apache.org/) выполняет задачу ssh с именем ** sshexec **, которую вы можете использовать. Чтобы автоматизировать это, вам нужно написать файл сборки ANT. – Margus

Смежные вопросы