Удаленное развертывание на Tomcat
Я хотел бы развернуть приложение (war) с помощью maven в удаленном tomcat (v7), сохранив существующий context.xml, или было бы также неплохо развернуть context.xml вместе с war. Я думаю, что это классическая проблема: если вы хотите повторно развернуть tomcat с помощью менеджера, он выполняет отмену развертывания и развертывание последовательно, что приводит к отмене развертывания context.xml в качестве побочного эффекта, после чего приложение не может запуститься.
Что я уже пробовал:
- груз с разными настройками - без изменений
- 'autoDeploy' = false - не работает под tomcat 7
- ограничить tomcat в написании своего собственного каталога конфигурации - выдает сообщение об ошибке и tomcat 7 не запускается
- помещение каждой контекстной информации в один context.xml.default - не удаляет контекст, но, к сожалению, у нас есть несколько приложений, которые используют один и тот же ключ в разных контекстах с разными значениями:-)
- помещение контекстной конфигурации в альтернативный путь - вне ${catalina.base} - не может заставить его работать
- создайте контейнер (докер) и повторно разверните его - это работает, но в настоящее время это не вариант здесь
Я думаю о написании простого сценария ssh (stop-tomcat, copy-war, start-tomcat) или альтернативного сценария менеджера, но сначала я хотел спросить вас, прежде чем изобретать велосипед. Я видел решения, использующие "tomcat7-maven-plugin", но слышал, что он работает только на локальном tomcat. Я не настаиваю на получении полноценного решения maven: если вы предлагаете решение с использованием менеджера с простыми вызовами REST, я также могу реализовать его в maven.
Таким образом, вопрос делится на три возможных решения (под tomcat7):
- Чтобы сохранить context.xml через undeploy
- Развернуть context.xml с войной
- Для повторного развертывания приложения без отмены развертывания
Вы знаете надежное решение для этого?
1 ответ
Наконец-то у меня вышло не очень приятное, но работающее решение, запускающее скрипт, который: - входит на компьютер Tomcat - останавливает экземпляр - очищает каталог webapps - загружает войны в каталог webapps - запускает экземпляр
Опять же: проблема не существует в Tomcat 6 и 8:-)