只需向部署中添加一些文件,即可将WildFly Swarm应用程序部署到Heroku 。 在本文中,我将展示对WildFly Swarm应用程序需要进行的更改以及如何将应用程序部署到Heroku。 我将展示如何将Fruits示例WildFly Swarm应用程序部署到Heroku。 可以从GitHub的https://github.com/doobrie/swarm-rs上克隆此应用程序的源。
创建一个Heroku应用程序
假设您已经安装了Heroku Toolbelt ,那么创建一个Heroku应用程序就是在WildFly Swarm项目(例如,Maven项目)的根目录中打开命令提示符/终端,然后执行heroku create
命令。
$>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
的文件,其中包含单行,指示所需的Java版本。
java.runtime.version=1.8
如何执行申请
Heroku使用Procfile
来确定应如何执行您的应用程序。 该文件也应该位于项目的根目录中。 要运行Web应用程序,我们需要告诉Heroku运行Web Dyno。 我们还需要告诉它要运行什么命令以及要在哪个端口上运行。
在Heroku中,应用程序必须侦听的端口由$PORT
环境变量定义。 默认的WildFly Swarm应用程序在端口8080上运行,但是可以通过添加swarm.http.port
环境变量来更改它。 要执行WildFly Swarm应用程序, Procfile
应该看起来像
web: java -Dswarm.http.port=$PORT -jar target/swarm-rs-1.0-SNAPSHOT-swarm.jar
由于我们正在运行WildFly Swarm“胖” Jar,因此不需要其他类路径条目–所需的只是包含应用程序的jar文件的名称,即swarm-rs-1.0-SNAPSHOT-swarm.jar
。例。
部署应用
这就是使用Heroku和WildFly Swarm所需要的全部。 您可以看到,除了添加system.properties
文件来确定要使用哪个Java运行时以及添加Procfile
来定义如何启动应用程序之外,我们没有对应用程序本身进行任何更改。
要在Heroku上部署应用程序,请确保已添加这些文件并将其提交到本地Git存储库,然后将更改推送到Heroku。
$>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。 推送到Heroku后,应用程序的Url将显示在控制台上。
结论
我已经概述了如何将WildFly Swarm应用程序部署到Heroku。 希望您会同意,这是一个简单的过程,可让您快速启动并在Heroku上运行。
翻译自: https://www.javacodegeeks.com/2016/02/deploying-wildfly-swarm-applications-heroku.html