本文参考Cloud Foundry官方文档,及论坛整理。 php
第一步:安装 Cloud Foundry Integration Extension for Eclipse html
在 Eclipse 中,按照下列步骤安装 Cloud Foundry Integration Extension。 java
选择 Help > Eclipse Marketplace。 node
将打开一个显示插件和附加组件的面板。 mysql
在 Find 字段中,输入“cloud foundry”,而后单击 Go。 git
在搜索结果中,选择“Cloud Foundry Integration for Eclipse”,而后单击Install。 github
Eclipse 会检查资源和依赖项。 sql
单击 Next 开始安装。 数据库
安装向导将引导您完成许可接受和安装步骤。 编程
安装完成时,从新启动 Eclipse。
您如今即可以链接到 Cloud Foundry 云。
第二步:使用 Cloud Foundry Integration for Eclipse 部署应用程序和绑定服务
在 STS 或 Eclipse 中,您须要定义一个新服务器来表示 Cloud Foundry 目标, 而后将应用程序部署到其中。
按照下面的步骤定义新服务器。
选择 Window > Show View > Servers。
单击新服务器向导或右键单击 Servers 视图中的空白区域,而后选择 New > Server。
将会启动 Define a New Server 向导。
展开 VMware 文件夹,选择 Cloud Foundry。
指定要在服务器名称中建立的 Cloud Foundry 服务器实例的显示名称。服务器主机名应 保持 localhost 不变。单击 Next。
选择要从 URL 列表中设置的 Cloud Foundry 目标。
VMware Cloud Foundry。VMware 托管的开放平台即服务。
本地云。VMware Cloud Application Platform (VCAP) 的本地安装。
Microcloud。Micro Cloud Foundry 虚拟机。
若是已选择 Microcloud,请输入 在 http://cloudfoundry.com/micro 中为 Micro Cloud Foundry 注册的域名以及描述性名称。
单击 OK。
输入 Cloud Foundry 目标的电子邮件地址和密码。
对于 VMware Cloud Foundry 目标,电子邮件必须 预先在网站上进行注册。CloudFoundry.com 注册按钮容许用户预先注册电子邮件账户。
对于本地云或 Microcloud 目标,请使用 已注册的电子邮件地址,或输入要注册的新电子邮件和密码,而后单击 Register Account…。
单击 Validate Account 以测试账户在 目标 Cloud Foundry 上是否有效。
单击 Finish。
新的 Cloud Foundry 目标会显示在 Servers 视图中。
Cloud Foundry Integration Extension 使用 Eclipse Web Tools Project (WTP) 服务器基础架构,该架构用于将 Java Web 应用程序部署到远程 服务器。
部署应用程序包括三个步骤。
仅当应用程序使用 Cloud Foundry 服务(如 MySQL 或 vFabric Postgres 数据库或 RabbitMQ 消息传递)时才须要执行后两个步骤。
在 STS 或 Eclipse 中,选择 Windows > Show View > Servers 以显示 Servers 视图。
当前部署的应用程序(若是存在)将在服务器下方列出。
要部署应用程序,请将其拖动到 Servers 视图中的目标 Cloud Foundry 服务器中。
或者,您也能够双击该服务器,将会打开 Cloud Foundry 编辑器,容许用户 将应用程序拖放到 Applications 选项卡中。
Cloud Foundry Integration Extension 会检查应用程序以肯定应用程序类型并验证 是否已将应用程序部署到选定的 Cloud Foundry 服务器。若是是的话,它会打开一个应用程序详细信息向导,用户能够在其中 配置应用程序和绑定可选的服务。支持的应用程序类型包括 Spring、Grails、Lift 和 Java Web。
若是 Integration Extension 未正确识别应用程序的框架,则根据须要更改应用程序的名称, ,选择正确的应用程序类型,而后 单击 Next。
注意: 此处的应用程序名称仅用于识别 要管理的应用程序。应用程序 URL 中向用户显示的 名称在该向导的下一个页面中设置。
编辑已部署的 URL,并根据须要更改预留内存。
在目标 Cloud Foundry 中,已部署的 URL 必须是惟一的。
若是须要将服务绑定到应用程序,请单击 Next 以在部署以前先将它们绑定,或取消选择Start application on deployment 并在部署后经过 Cloud Foundry 服务器编辑器绑定服务。
单击 Finish,虽然是可选项,可是用户也能够选择 Next 在部署前先绑定服务。
应用程序部署完毕。若是选择 Start application on deployment,将会启动该选项,并可经过映射的 URL 访问。若是使用调试支持部署到 microcloud 或本地云,将会显示在 调试模式下启动应用程序的另外一个选项。
若是单击 Next,则能够将现有服务绑定到应用程序,或者能够定义其余服务,而后进行绑定。
部署后,在 Servers 视图中,双击该应用程序打开编辑器并显示应用程序统计信息以及 启动、中止、从新启动、更新并从新启动应用程序的控件,还能够更改应用程序的配置和绑定服务。
必须先定义服务,而后才能将服务绑定到已部署的应用程序。Cloud Foundry Integration Extension 可从 目标 Cloud Foundry 中获取一个可用服务目录。定义服务后,能够将其绑定到 应用程序。部署期间,能够经过应用程序详细信息向导 将服务绑定到应用程序,若是应用程序已中止运行,也能够在部署后经过 Cloud Foundry 服务器编辑器进行绑定。
按照下面的步骤在编辑器中定义服务。
在 Servers 视图中,双击应用程序名称。
Applications 选项卡显示有关 Cloud Foundry 目标上应用程序的详细信息。
在 Services 部分中,单击 Add service 图标。
为新服务提供名称,并选择服务类型。
Type 列表包含 目标 Cloud Foundry 上全部可用的服务类型。
单击 Finish。
插件将从 Cloud Foundry 请求服务,新服务 会出如今 Services 部分中。
当您将服务绑定到应用程序时,Cloud Foundry Integration Extension 会更新应用程序配置文件,以访问所定义的 服务。绑定服务时不得运行应用程序。
若是应用程序正在运行,请中止应用程序:
在 Applications 面板中,选择要为其绑定 服务的应用程序。
在 Services 面板中选择要绑定的服务,而后将其拖动到 Application Services 面板中。
单击 Start 按钮。
Cloud Foundry 编辑器中的 Applications 选项卡容许用户修改应用程序详细信息,如内存、运行的实例数、映射的应用程序 URL,以及启动、中止、从新启动、更新和从新启动应用程序。
用户能够从新启动应用程序,而不须要经过 Restart 按钮或 Servers 视图中的上下文菜单操做发布应用程序中的更改,或更新已部署应用程序中的更改并使用 Update and Restart 选项从新启动应用程序。
Update and Restart 会以增量方式逐步发布应用程序中的本地更改,并进行优化,以仅推送 自上次发布以来已经更改的资源。
中止和启动一个应用程序代表已执行一次完整的发布。
若是不须要数据库服务,如今你就能够利用eclipse的Cloud Foundry插件完成部署。
第三步:关于 Cloud Foundry MySQL 服务的介绍
MySQL 是经常使用的开源关系数据库,它被做为一项服务在 Cloud Foundry 上被提供。当部署 Rails、Grails 或 Spring 应用程序至 Cloud Foundry 时,vmc 或 STS 可能自动配置您的应用程序以使用 Cloud Foundry 实例。若是您的应用程序不能被自动配置,您可从 VCAP_SERVICES 环境变量中得到您的应用程序链接数据库所需的信息。
若是您的应用程序不能被自动配置,您必须提供相应的代码以从 VCAP_SERVICES 变量中得到链接信息,该变量已在应用程序的 Cloud Foundry 环境中被设置。此变量的内容是一个 JSON 文件,其中包含一个与应用程序捆绑的全部配置服务的列表。
如下为一个做为示例 JSON 文件(出于可读性考虑而重设了格式),该文件来自带有两个已配置 MySQL 服务的 Cloud Foundry 应用程序的环境。
{"mysql-5.1":[ { "name":"mysql-4f700", "label":"mysql-5.1", "plan":"free", "tags":["mysql","mysql-5.1","relational"], "credentials":{ "name":"d6d665aa69817406d8901cd145e05e3c6", "hostname":"mysql-node01.us-east-1.aws.af.cm", "host":"mysql-node01.us-east-1.aws.af.cm", "port":3306, "user":"uB7CoL4Hxv9Ny", "username":"uB7CoL4Hxv9Ny", "password":"pzAx0iaOp2yKB" } }, { "name":"mysql-f1a13", "label":"mysql-5.1", "plan":"free", "tags":["mysql","mysql-5.1","relational"], "credentials":{ "name":"db777ab9da32047d99dd6cdae3aafebda", "hostname":"mysql-node01.us-east-1.aws.af.cm", "host":"mysql-node01.us-east-1.aws.af.cm", "port":3306, "user":"uJHApvZF6JBqT", "username":"uJHApvZF6JBqT", "password":"p146KmfkqGYmi" } } ]}
使用访问操做系统环境变量的编程语言工具检索 VCAP_SERVICES 的值。例如,在 Java 中为 java.lang.System.getenv("VCAP_SERVICES"),在 Ruby 中为 ENV['VCAP_SERVICES']。在 Node.js (JavaScript) 中使用 process.env.VCAP_SERVICES,在 Python 中使用 os.getenv("VCAP_SERVICES")。
使用特定语言的 JSON 库或模型解析该值和访问您所需的信息。
name 键值可被用于区别多个 MySQL 实例;它在您使用 vmc 或 STS 建立实例时被设置。
credentials 对象包含经过一个驱动程序或库链接 MySQL 所需的全部数据。
请在 Cloud Foundry 入门站点的服务 部分中查看特定语言和框架下使用 MySQL 的示例。
第四步:链接数据库。
链接数据库有两种方法
1.打开VMare Cloud Foundry服务器的配置界面,在Services列表中选择一个服务(若是没有点击Add Service)右击选 择Open Tunnel.
2 以后弹出数据库链接信息,将链接信息复制到记事本。
3 在eclipse中打开Data Source Explorer 视图(Window-->Show-->Data Source Explorer)
4 新建一个mysql数据库链接
6 第一次使用的时候新建一个链接没有链接信息 须要点击New Driver Definition
选择数据库版本
7.校订数据库驱动地址
8.填写刚才复制的数据库链接信息
9. 点击OK 返回链接界面 Finsh 链接完成。
10.能够在这里进行数据库操做
第二种
链接方式有点麻烦是根据(http://cnblog.cloudfoundry.com/2012/07/07/200/) 完成的
在操做以前 须要
在http://rubyinstaller.org/downloads 下载Ruby 1.9.2-p290和DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe.
在Oracle官网http://www.mysql.com/products/community/下载Mysql数据库。
1 安装Ruby 1.9.2(安装ruby 过程 选择添加到win7环境变量path中,最好目录是英文,别带空格.)
2 安装Devkit (http://rubyer.me/blog/134/)
DevKit 是windows平台下编译和使用本地C/C++扩展包的工具。它就是用来模拟Linux平台下的make, gcc, sh来进行编译。注:这个方法目前仅支持经过RubyInstaller安装的Ruby,若是不是建议你从新安装。安装方法:双击下载的7z文件,指定解压路径,路径中不能有空格。如C:\DevKit,这个路径就是<DEVKIT_INSTALL_DIR>。
1 | > cd <DEVKIT_INSTALL_DIR> |
2 | > ruby dk.rb init |
3 | #生成config.yml,这里会检查将要添加DevKit支持的Ruby列表,只支持经过RubyInstaller安装的Ruby |
4 | #若是这里列出的Ruby与你的要求不符,能够手动修改 |
5 | > ruby dk.rb review #检查要添加DevKit支持的Ruby列表是否有误,能够略过 |
6 | > ruby dk.rb install |
7 | [INFO] Updating convenience notice gem override for 'C:/Ruby192' |
8 | [INFO] Installing 'C:/Ruby192/lib/ruby/site_ruby/devkit.rb' |
检查是否安装成功
1 | > gem install rdiscount --platform=ruby |
2 | Fetching: rdiscount-1.6.8.gem (100%) |
3 | Temporarily enhancing PATH to include DevKit... |
4 | Building native extensions. This could take a while... |
5 | Successfully installed rdiscount-1.6.8 |
6 | 1 gem installed |
7 | Installing ri documentation for rdiscount-1.6.8... |
8 | Installing RDoc documentation for rdiscount-1.6.8... |
若是能安装rdiscount成功说明安装DevKit成功。
3 安装MySql 数据库.(在Win7 环境变量Path中添加MySlq bin 地址 如D:\Program Files\MySQL\MySQL Server 5.5\bin)
4 安装vmc gem (http://cndocs.cloudfoundry.com/tools/vmc/installing-vmc.html)
在Window 上打开Ruby的命令提示符窗口执行 gem install vmc 成功以后测试下vmc指令是否可用
5 安装 caldecott gem 在命令提示符窗口执行 gem install caldecott
6 安装 tunnel-vmc-plugin gem 在命令提示符窗口执行 gem install tunnel-vmc-plugin
7 操做Cloud Foundry 数据库
列出你全部的数据库服务 vmc services
vmc services 没有数据库 那是由于你没有创建数据库服务,我以为最简单的方式就是在eclipse插件中创建数据库服务 参考cloud foundry的文档 ,也能够根据vmc的指令建立数据库服务http://cndocs.cloudfoundry.com/tools/vmc/vmc-quick-ref.html(你建立的是数据库服务名,不是你的数据库名)。
链接数据库服务 vmc tunnel <dzhai 数据库服务名>
选择哪一种链接方式 选择2
成功进入mysql操做界面(因为网速不给力,查询表内容,没反应了)