Краткое руководство 📖 по публикации веб-приложений в Интернете 🌐.
УДОБНО, без огромных сервисов, таких как 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/
Привет, твое приложение запущено🎉 !!
Кроме того, изменения кода в вашем репозитории будут внесены в течение нескольких минут !!