Краткое руководство 📖 по публикации веб-приложений в Интернете 🌐.
УДОБНО, без огромных сервисов, таких как AWS или Google Cloud.

Heroku ☁️ - это платформа как услуга на базе Salesforce, которая упрощает болезненные части выпусков программного обеспечения - сборку, серверы, балансировку нагрузки, ведение журнала, мониторинг и развертывание, позволяя разработчикам сосредоточиться на кодировании 💻.

Об этом читайте в документации Heroku.

Приложения размещаются в облаке Heroku в закрытых docker-подобных контейнерах, называемых dynos.

Heroku не зависит от технических стеков, он поддерживает Python, node, PHP и несколько других стеков.

Следующая статья потребует базовых знаний о GitHub, Spring Boot и Maven.

Настройка GitHub

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

Репозиторий: https://github.com/arjunchakri/sherlock-heroku-poc

Настройте код приложения Spring и объявите spring-boot-maven-plugin в своем pom.xml, чтобы двоичный файл создавался после сборки. (с использованием `mvn clean package`)

Важно указать точку входа в ваше приложение. Инфраструктура Heroku ищет файл «Procfile» в корне вашего проекта.

web: java -Dserver.port=$PORT $JAVA_OPTS -jar target/herokupoc-*.jar
  • Это точка входа в ваше приложение после того, как ваш проект будет построен с целью создания пакета в облаке Heroku.
  • Измените имя двоичного файла, указанное выше, в соответствии с идентификатором артефакта вашего проекта.
  • PORT будет установлен на динамический номер порта во время развертывания.

После того, как сервер Spring успешно запустится из локально созданного jar-файла, отправьте код в репозиторий git.

Настройка Heroku

Теперь, когда кодовая база готова, давайте настроим все на Heroku. Как указывалось ранее, Heroku

В настоящее время у Heroku есть бесплатный уровень 🎁 с ограниченным использованием. Приложения переходят в спящий режим после 30 минут бездействия (после запуска требуется около 30 секунд для выхода в онлайн) и имеют ограниченные часы работы.

Уровни премиум 💰 предлагают гораздо больше функций, которые делают приложение готовым к работе, масштабирование, мониторинг, ведение журнала и увеличение памяти сервера и ЦП.

Зарегистрируйтесь для новой учетной записи на https://www.heroku.com/

Теперь вы увидите панель управления Heroku, подтверждение по электронной почте и соглашение. Выберите Создать - ›Создать новое приложение.

Тщательно выбирайте имя приложения, так как это будет общедоступный URL-адрес приложения.

appname.herokuapp.com

После выбора уникального имени приложения подключите свою учетную запись GitHub в разделе «Развертывание». Затем подключите свой репозиторий.

В первый раз нажмите кнопку «Развернуть ветку», и Heroku проверит ваш код, запустит сборку Maven и опубликует ваше приложение.

Обязательно включите параметр Автоматическое развертывание 🔄 - идеально подходит для промежуточной среды с включенным Непрерывным развертыванием.

Непрерывное развертывание? Любое изменение кода, которое вы отправляете в репозиторий Git, запускает новую сборку и повторно развертывает приложение.

Вы можете проверить общедоступный URL-адрес своего приложения на вкладке «Настройки» - ›Домены.

Https://sherlock-test.herokuapp.com/

Привет, твое приложение запущено🎉 !!
Кроме того, изменения кода в вашем репозитории будут внесены в течение нескольких минут !!