Cloud Foundry samples学习笔记5:在Cloud Foundry上部署Grails应用程序 petclinic

本样例程序是用Grails框架实现的一个宠物诊所的web应用。用户可以查看诊所内所有兽医的姓名和主治领域,可以注册一个宠物主人(Owner)并添加某一种类的宠物(Pet)、记录宠物病历(Visit)等。

程序repository地址:https://github.com/SpringSource/cloudfoundry-samples/tree/master/petclinic-grails

该程序的实现很简单,其中包含几个域类(domain class)用来描述兽医师、宠物主人、宠物、病历等实体对象,这些域类位于

grails-app / domain / org / grails / samples /

目录下;还包含三个controller来支持用户接口,位于

grails-app / controller/ org / grails / samples /

目录下。各个实体域类之间的继承和引用关系如下图所示:


宠物主人Owner类和兽医Vet类均继承自公共超类Person;一个Owner拥有多个宠物Pet,一个Pet又拥有一个宠物种类PetType和多条病历Visit;一个Vet拥有多个主治领域Speciality。

至于程序的其他部分,与一般的Grails程序并无太大差异,完全可以使用本地开发环境中的各种配置参数(如数据源的url、username、password等),Cloud Foundry的自动重新配置机制会做适当的处理,因为Grails程序是搭建在标准Spring框架之上的。唯独需要稍加注意的是应用程序构建的配置,即文件

grails-app / conf / BuildConfig.groovy

dependencies {
        runtime "hsqldb:hsqldb:1.8.0.10", "postgresql:postgresql:9.1-901-1.jdbc4"
    }

    plugins {
        compile ":cloud-foundry:1.2.2",
                ":hibernate:$grailsVersion",
                ":webxml:1.4.1"
        build   ":tomcat:$grailsVersion"
    }

注意其中引入了cloud foundry的扩展插件。

本文下面将重点介绍在Cloud Foundry部署一个Grails应用程序的过程。当然在此之前你需要安装好Grails

首先安装Grails的CloudFoundry插件。此插件会为 Grails 增加一些命令(大多数都与VMC命令等效),使它能够方便地部署并管理你的应用程序。执行以下命令:

$ grails install-plugin cloud-foundry

安装完插件后,您可以使用以下命令查看可以使用哪些 CloudFoundry 命令:

$ grails cf-help

接下来,需要指定你在Cloud Foundry注册的用户名和密码。放置这些数据的最佳位置为 ~/.grails/settings.groovy 文件:

grails.plugin.cloudfoundry.username= "<yourusername>"
grails.plugin.cloudfoundry.password = "<yourpassword>"

最好将此文件设置为只有你能够读写。可执行以下命令确认此验证信息是否有效:

$ grails cf-info

一切就绪,接下来就可以使用以下命令开始部署你的应用程序了:

$ grails prod cf-push

此命令将首先询问你要使用什么 URL。只要应用程序的名称在 cloudfoundry.com 上是唯一的,就可以根据应用程序的名称,使用默认URL。而这里,由于本样例程序已在cloudfoundry.com 上部署过,需要输入另外一个唯一的名称,而不能接受默认 URL。也可在运行 cf-push 命令之前手动修改 application.properties 属性文件中的“app.name”字段。

接下来,在系统询问是否希望创建并绑定服务时选择与PostgreSQL服务绑定。之后,你将会看到应用程序已经完成部署并在 cloudfoundry.com 上启动了。

 总结:本文介绍了如何安装Grails的Cloud Foundry插件并使用它向Cloud Foundry部署一个Grails应用程序。这里只介绍了几个最基本的grails cf 命令,关于此插件的更多具体细节和高级使用技巧,请参考Cloud Foundry官方中文文档Grails插件用户指南SpringSource社区博客

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值