Приложения WildFly Swarm можно развернуть в Heroku , просто добавив несколько файлов в развертывание. В этой статье я покажу изменения, которые необходимо внести в приложение WildFly Swarm, и как затем развернуть приложение в Heroku. Я покажу, как развернуть мое приложение WildFly Swarm на примере Fruits в Heroku. Исходный код этого приложения можно клонировать из GitHub по адресу https://github.com/doobrie/swarm-rs.
Создание приложения Heroku
Предполагая, что у вас установлен Heroku Toolbelt , создание приложения Heroku заключается в открытии командной строки / терминала в корне проекта WildFly Swarm (для этого примера проекта Maven) и выполнении команды heroku create .
|
1
2
3
|
$>heroku createCreating app... done, stack is cedar-14https://mighty-temple-xxxxx.herokuapp.com/ | https://git.heroku.com/mighty-temple-xxxxx.git |
Это создает приложение Heroku с добавлением git remote, heroku , готовое для развертывания вашего приложения.
Определение среды выполнения Java
Heroku может автоматически определить, что ваше приложение основано на Java, но необходимо указать, какую версию Java следует запускать. Чтобы определить это, создайте файл с именем system.properties в корневом system.properties проекта, содержащий одну строку, указывающую требуемую версию Java.
|
1
|
java.runtime.version=1.8 |
Как оформить заявку
Heroku использует Procfile чтобы определить, как должно выполняться ваше приложение. Этот файл также должен находиться в корне вашего проекта. Чтобы запустить веб-приложение, мы должны сказать Heroku запустить Web Dyno. Нам также нужно указать, какую команду запускать и на каком порту запускать.
В Heroku порт, который должны прослушивать приложения, определяется переменной среды $PORT . Приложение WildFly Swarm по умолчанию работает на порту 8080, но это можно изменить, добавив переменную среды swarm.http.port . Чтобы запустить приложение WildFly Swarm, Procfile должен выглядеть примерно так
|
1
|
web: java -Dswarm.http.port=$PORT -jar target/swarm-rs-1.0-SNAPSHOT-swarm.jar |
Так как мы запускаем «толстый» Jar WildFly Swarm, дополнительные записи пути к классу не требуются — все, что нужно, это имя файла Jar, содержащего приложение, swarm-rs-1.0-SNAPSHOT-swarm.jar в этом пример.
Развертывание приложения
Это все, что требуется для работы с Heroku и WildFly Swarm. Вы можете видеть, что мы не внесли никаких изменений в само приложение, кроме добавления файла system.properties чтобы определить, какую среду выполнения Java использовать, и Procfile чтобы определить, как запустить приложение.
Чтобы развернуть приложение в Heroku, убедитесь, что эти файлы добавлены и зафиксированы в локальном репозитории Git, а затем отправьте изменения в Heroku.
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
|
$>git push heroku masterremote: [INFO] ------------------------------------------------------------------------remote: [INFO] BUILD SUCCESSremote: [INFO] ------------------------------------------------------------------------remote: [INFO] Total time: 01:14 minremote: [INFO] Finished at: 2016-02-07T21:49:57+00:00remote: [INFO] Final Memory: 36M/389Mremote: [INFO] ------------------------------------------------------------------------remote: -----> Discovering process typesremote: Procfile declares types -> webremote:remote: -----> Compressing...remote: Done: 96.9Mremote: -----> Launching...remote: Released v4remote: https://mighty-temple-xxxxx.herokuapp.com/ deployed to Herokuremote:remote: Verifying deploy.... done.To https://git.heroku.com/mighty-temple-xxxxx.git * [new branch] master -> master |
Чтобы убедиться, что приложение работает, перейдите к /api/fruit Url приложения. URL-адрес приложения отображается на консоли после нажатия на Heroku.
Вывод
Я дал обзор того, как развертывать приложения WildFly Swarm в Heroku. Надеюсь, вы согласитесь, что это простой процесс, позволяющий быстро приступить к работе с Heroku.
| Ссылка: | Развертывание приложений WildFly Swarm для Heroku от нашего партнера JCG Дэвида Солтера в блоге Дэвида Солтера в блоге. |