Мы развертываем приложение в нескольких средах Jelastic Tomcat с помощью Maven на сервере сборки TeamCity. Это работает хорошо и работает уже довольно давно.
Теперь мы хотим приблизиться к развертыванию с нулевым временем простоя и хотели бы найти простой способ минимизировать или исключить время простоя. Кот' s Функциональность параллельного развертывания кажется подходящей.
Однако похоже, что подключаемый модуль Jelastic Maven не поддерживает параллельное развертывание или нестандартное развертывание (например, <имя-артефакта> ## <версия-артефакта > .war
) имена архивов. Плагин tomcat-maven не работает с нашим прокси-сервером / балансировщиком нагрузки Nginx, утверждая, что запрос (PUT) слишком велик. 100 МБ не должно быть проблемой, верно ...? :)
Когда я пытаюсь выполнить развертывание с помощью Postman, я также получаю сообщение об ошибке, что контекст /
уже используется. Именно поэтому я хочу параллельное развертывание ...
Я пробовал все это локально, и это работает как шарм, но удаленный доступ - еще одна проблема, Кто-нибудь добился успеха в такой настройке, или я что-то упустил?
Вы правы, Jelastic Maven на данный момент не поддерживает параллельное развертывание в Tomcat. Запрос функции был добавлен в список улучшений. В качестве альтернативы на данный момент вы можете развернуть военный архив через прямое соединение SSH с контейнером . Или вы можете поиграть с доменом подкачки - создать новую среду, развернуть новую версию в этом новом окружении, протестировать и, если все в порядке, поменять домен между старым и новым окружением.
В дополнение к этому мы собираемся выпустить Traffic Distributor - специальный модуль для развертывания сложных приложений с нулевым временем простоя. Это своего рода балансировщик нагрузки, который позволяет перенаправлять часть трафика или весь его между средами с помощью перетаскивания или вызова API. Он станет достоянием общественности через месяц.
Существует также другая альтернатива, если вы используете общедоступный IP-адрес на балансировщике нагрузки (рекомендуется).
В этом случае вы можете создать полностью новую / отдельную среду с той же топологией, развернуть обновленный код там, а затем после тестирования переместите общедоступный IP-адрес со старого балансировщика нагрузки на новый. Это очень быстро (всего несколько отброшенных пакетов).
Этот рабочий процесс очень хорошо работает для сине-зеленого развертывания .