Развертывание Spring Boot в производственной среде

У нас есть приложение Spring Boot + Angular. Сейчас мы упаковываем его как банку и запускаем.

Можно ли использовать упаковку как JAR? Или мы должны перейти к упаковке типа WAR. В чем будет разница?

По функционалу разницы нет. Разница в выборе сервера. Если встроенный сервер, упакованный с вашим приложением Spring Boot, вам подходит, то все готово.

Branislav Lazic 26.10.2018 08:21

взгляните здесь: вы можете указать spring-boot создать файл войны, который является самоисполняемым и развертываемым. Таким образом, при необходимости вы можете изменить развертывание со встроенного сервера на управляемую / предоставленную серверную среду: stackoverflow.com/questions/40289437/…

the hand of NOD 26.10.2018 09:53
3
2
5 329
3

Ответы 3

Spring Boot можно указать для создания файла WAR, и в этом случае вы, вероятно, решите развернуть его в веб-контейнере, таком как Tomcat или Jetty.

Spring Boot также можно указать для создания JAR, который включает все зависимости вашего модуля / службы и может быть запущен с помощью java -jar.

Есть ли преимущество в выборе одного перед другим?

Swastik 26.10.2018 08:49

Зависит от вашего развертывания. Если вы планируете развернуть свое приложение на существующем сервере приложений Java EE (например, Tomcat), то стандартным подходом является выполнение военной сборки. Когда вы используете подход с толстой банкой, ваше приложение будет развернуто во встроенном контейнере приложения, предоставляемом spring boo @Swastik

Nitheesh Chandran 26.10.2018 08:58

Разница ни в чем другом, кроме стиля развертывания.

При использовании JAR толстый JAR, который создается Spring boot, содержит встроенный tomcat.

Если в среде развертывания вашей группы есть сервер приложений, такой как WebLogic или Websphere и т. д., Который большинство корпоративных сред пытаются выбрать, поскольку у них уже есть лицензия по этим или другим подобным причинам, вам нужно будет создать WAR.

Для ВОЙНЫ:

Плюсы:

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

Минусы:

  • Дополнительная конфигурация и настройка при развертывании в приложении / веб-сервере (ах)

Простой способ : Вы можете перейти в свой файл application.yml и указать все детали профиля среды, как показано ниже:

весна: профили: по умолчанию

весна: профили: dev

весна: профили: QA

весна: профили: PROD

После в файле application.properties просто укажите активный профиль, как показано ниже.

spring.profiles.active = QA, Dev или prod

Это не связано с переключением профиля. Вопрос в том, развертывать ли как JAR или как WAR.

Praveen E 19.02.2021 22:00

Другие вопросы по теме