在Cloudfoundry上部署RESTful服务

在本文中,我们将使用Pivotal Cloud Foundry(PCF)Dev在Cloudfoundry上部署RESTful服务。 由于创建静态Web服务不是本文的一部分,因此我已经创建了employee-service ,它具有静态后端,可从GitHub进行克隆。

在将它部署到Cloudfoundry之前,让我们简要介绍一下。

Cloudfoundry

Cloud Foundry是一个开源云平台即服务(PaaS),开发人员可以在该平台上构建,部署,运行和扩展公共和私有云模型上的应用程序。 它最初是由VMware创建的VMware,现在是Pivotal软件的一部分。

现在,通过以下步骤,使用PCF Dev在本地工作站上设置轻量级PCF:

步骤1: 下载并在目录中安装cf-cli-installer_6.22.2_osx.pkg ,对我来说是/ Users / ArpitAggarwal / cloudfoundry

$ cd /Users/ArpitAggarwal/cloudfoundry/ 
$ sudo installer -pkg ./cf-cli-installer_6.22.2_osx.pkg -target /

步骤2:测试Cloudfoundry CLI是否成功安装:

$ cf help

步骤3:接下来,我们将下载PCF Dev并将其安装在我们之前创建的相同目录中,如下所示:

$ cd /Users/ArpitAggarwal/cloudfoundry/
$ unzip pcfdev-v0.22.0+PCF1.8.2-osx.zip
$ ./pcfdev-v0.22.0+PCF1.8.2-osx

开始4:启动PCF开发人员:

$ cd /Users/ArpitAggarwal/cloudfoundry/
$ cf dev start

上面的命令在我们运行PCF的工作站上启动一个虚拟机。

步骤5:从GitHub的目录中克隆员工服务 ,对我来说是/ Users / ArpitAggarwal /

$ cd /Users/ArpitAggarwal/
$ git clone https://github.com/arpitaggarwal/empoyee-service.git

步骤6:使用manifest.yml更新员工服务

$ cd /Users/ArpitAggarwal/employee-service
$ touch manifest.yml

上面创建的manifest.yml由PCF用于部署到本地工作站或公共云上。

步骤7:将以下内容复制到manifest.yml中

---
applications:
- name: empoyee-service
  memory: 1G
  random-route: true
  path: build/libs/empoyee-service-0.0.1.war
  buildpack: https://github.com/arpitaggarwal/java-buildpack.git

上面指定的name属性是应用程序的名称。
path属性是应用程序的目录位置。
buildpack属性指向java-buildpack,PCF使用它来运行基于JVM的应用程序。

有关manifest.yml的更多信息,可以在这里进行探索。

步骤8:接下来,我们将构建应用程序,并在登录后将其推送到Cloudfoundry本地工作站,如下所示:

$ cd /Users/ArpitAggarwal/empoyee-service
$ empoyee-service git:(master) ./gradlew clean build
$ empoyee-service git:(master) ✗ cf login -a api.local.pcfdev.io --skip-ssl-validation
API endpoint: api.local.pcfdev.io

Email> user
Password> pass

$ cf push

上面指定的cf push命令可以推送应用程序或将对现有应用程序的更改同步到URL http://empoyee-service.local.pcfdev.io

应用程序是否已成功部署在Cloudfoundry上?

让我们通过查看最近的部署日志来验证它,我们可以在其中查看服务器启动状态,如下所示:

$ cd /Users/ArpitAggarwal/empoyee-service
$ cf logs empoyee-service --recent

我们还可以验证对其执行GET和POST请求的应用程序部署,如下所示:

GET请求以获取所有员工:

curl -i -H "Accept: application/json" -H "Content-Type: application/json" http://empoyee-service.local.pcfdev.io/empoyee/get

POST请求创建员工:

curl -H "Content-Type: application/json" -X POST -d '{"name": "Arpit Aggarwal","email":"aggarwalarpit.89@gmail.com"}' http://empoyee-service.local.pcfdev.io/employee/create

完整的源代码托管在github上

翻译自: https://www.javacodegeeks.com/2016/12/deploying-restful-service-cloudfoundry.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值