Heroku:快速部署Dropwizard开发的RESTful Service

31 篇文章 0 订阅

  上一篇博客Dropwizard:用Java轻轻的写一个RESTful Service中讲到了使用Dropwizard可以快速的开发出一个RESTful service,同时因为Dropwizard使用的是Jetty Embedded Container,就可以不再需要繁琐的去安装相应的container,以及其他的好处(参考Embedded Server:像写main函数一样写Web Server)。唯一需要的东西,只是java的运行时环境。为了说明这样带来的好处,这篇博客将会采用大家耳熟能详的一个PaaS平台Heroku来部署用Dropwizard开发出的RESTful service。


1. dropwizard

使用已有的的项目

git clone https://github.com/kiwiwin/heroku-dropwizard-demo

比上篇Dropwizard的博客中的项目中仅有的几个不同点是:

Profile

web: java $JAVA_OPTS -Ddw.http.port=$PORT -Ddw.http.adminPort=$PORT -jar heroku-app/*-standalone.jar server heroku-app/hello.yaml

Profile中包含的内容是,heroku需要启动App时调用的命令。

system.properties

java.runtime.version=1.7

使用system.properties指定需要使用的java版本是1.7

build.gradle

新增一个task stage,这个在后面会解释


2.创建heroku project

在项目heroku-dropwizard-demo文件路径下

登陆heroku:$heroku login

创建heroku app:$heroku create -s cedar kiwi-dropwizard-demo

kiwi-dropwizard-demo是你创建的heroku的app名称,需要是唯一的。app的名称也就对应了你app的url:http://kiwi-dropwizard-demo.herokuapp.com/。cedar是heroku提供的默认runtime环境,在这个环境中,你可以build,deploy你的app。

设置buildpack:buildpack决定了当你把你的代码push到heroku的时候,heroku怎么样build你的代码,在heroku官网中,其提供了一个gradle的buildpack(https://devcenter.heroku.com/articles/buildpacks)。但这个build脚本使用的是gradle-1.0-milestone-5。版本实在太老了。所以,我自己稍作修改,使用gradle1.9。让heroku知道你使用这个buildpack:

$heroku config:set BUILDPACK_URL=https://github.com/kiwiwin/heroku-buildpack-gradle

部署到heroku:$git push heroku master


3.访问app

$curl http://kiwi-dropwizard-demo.herokuapp.com/hello?name=recocojie

返回:

{"id":3,"content":"Hello, recocojie!"}


4.总结

 使用Heroku部署standalone的jar包是非常方便的,不信你也试试。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值