Cloud Foundry 数据库连接

来源:互联网 发布:网络自制剧 编辑:程序博客网 时间:2024/04/29 18:28

环境配置和数据库客户端连接(以mysql为例子 )

1. 安装rubyinstaller和devkit

2. 安装caldecott:
    gem install rest-client
    gem install eventmachine --pre
    gem install caldecott
3. 安装mysql客户端(如果使用mysql数据库)
4. vmc services
5. vmc tunnel <servicename>


安装devkit的步骤
1. 下载devkit,选择目录并解压 (c:\devkit)
2. cd <DEVKIT_INSTLL_DIR>
3. ruby dk.rb init,将产生config.yml (使用ruby dk.rb review命令并确认)
4. ruby dk.rb install
5. test installation 
    1. gem install json --platform=ruby

    2. ruby -rubygems -e "require 'json'; puts JSON.load('[42]').inspect"


Ruby程序连接CloudFoundry services (在sinatra中连接mysql数据库)

      

require 'sinatra/base'require 'mysql2'require 'json'class WebsitApp < Sinatra::Base    configure doservices = JSON.parse(ENV['VCAP_SERVICES'])mysql_key = services.keys.select { |svc| svc =~ /mysql/i }.firstmysql = services[mysql_key].first['credentials']@@mysql_conf = {:host => mysql['hostname'], :port => mysql['port'],:username => mysql['user'], :password => mysql['password']}@@conn = Mysql2::Client.new @@mysql_conf  end  get "/" do    "Hello, World cloud Foundry!"  end  get "/db" do  @@mysql_conf.to_s  endend

访问 /db 打印出数据库连接字符串

在cloudfoundry中以rack方式运行 ,config.ru如下

# config.rurequire './app'run WebsitApp.new

bundle package

bundle install

vmc push <appname>


注--部署过程中framework记得选择rack,否则可能导致部署失败,  vmc刚开始使用0.5.0版本,经常出现“TypeError: can't convert nil into String”错误,改用0.4.7后没在发生,是否新版本bug? 

      



原创粉丝点击