Приложения 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 create Creating app... done, stack is cedar- 14 https: //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 master remote: [INFO] ------------------------------------------------------------------------ remote: [INFO] BUILD SUCCESS remote: [INFO] ------------------------------------------------------------------------ remote: [INFO] Total time: 01 : 14 min remote: [INFO] Finished at: 2016 - 02 -07T21: 49 : 57 + 00 : 00 remote: [INFO] Final Memory: 36M/389M remote: [INFO] ------------------------------------------------------------------------ remote: -----> Discovering process types remote: Procfile declares types -> web remote: remote: -----> Compressing... remote: Done: 96 .9M remote: -----> Launching... remote: Released v4 remote: https: //mighty-temple-xxxxx.herokuapp.com/ deployed to Heroku remote: 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 Дэвида Солтера в блоге Дэвида Солтера в блоге. |