首先要注册OpenShift的账户,注册后使用Express Client创建域名
创建type为rack-1.1的应用
1.rhc-create-app -a railsapp -t rack-1.1 -l username
2.cd railsapp
创建Rails框架代码
1.rails new app
2.cd app
3.bundle install
4.rails generate controller home index
5.rm public/index.html
6.更改文件config/routes.rb中的router
root :to => “home#index”
7.rails generate scaffold Post name:string title:string content:text
把rails应用复制到openshift的应用的根目录覆盖其中的config.ru等
添加数据库支持
把文件.openshift/action_hooks/deploy中的下列行取消注释:
pushd ${OPENSHIFT_REPO_DIR} > /dev/null
bundle exec rake db:migrate RAILS_ENV=”production”
popd > /dev/null
有两种数据库供选择一种是SQLite另一种是MySQL
SQLite:
更改文件config/database.yml中Production中的值:
database: <%=ENV['OPENSHIFT_DATA_DIR']%>production.sqlite3
MySQL:
你需要使用rhc-ctl-app工具在你的应用中启用Mysql:
rhc-ctl-app -a APP -e add-mysql-5.1
更改文件config/database.yml中production db为:
production:
adapter: mysql
encoding: utf8
database: <%=ENV['OPENSHIFT_APP_NAME']%>
pool: 5
host: <%=ENV['OPENSHIFT_DB_HOST']%>
port: <%=ENV['OPENSHIFT_DB_PORT']%>
username: <%=ENV['OPENSHIFT_DB_USERNAME']%>
password: <%=ENV['OPENSHIFT_DB_PASSWORD']%>
socket: <%=ENV['OPENSHIFT_DB_SOCKET']%>
记得更改Gemfile文件,添加:
gem ‘mysql’
重新运行下bundle install去更新Gemfile.lock
部署:
1.git add .
2.git commit -a -m “Initial setup”
3.git push
你会看到你应用中的Gemfile和Gemfile.lock文件中gems都会被自动下载。
《 “在OpenShift中部署ROR应用” 》 有 3 条评论
[…] 在OpenShift中部署ROR应用 在Red Hat OpenShift平台部署Django应用 OpenShift […]
[…] 在OpenShift中部署ROR应用 在Red Hat OpenShift平台部署Django应用 OpenShift […]
[…] 在OpenShift中部署ROR应用 在Red Hat OpenShift平台部署Django应用 OpenShift 各种语言框架的上手指南 […]