因为 heroku 速度的问题,所以试着把 demo 放到了 coding 上。 因为没有看到官方例子的教程,还是踩了点坑。就写了个简单的例子,方便大家操作,主要适合从 heroku 过来的
这是我的两个 repo,不知道有什么比较速度的办法? http://sisuo.herokuapp.com/ http://sisuo.codingapp.com/
本地 development 采用 sqlite3, production 采用 postgresql 1. database.yml 修改 之前的话,是
production:
adapter: sqlite3
database: db/production.sqlite3
pool: 5
timeout: 5000
改成
production:
adapter: postgresql
encoding: unicode
pool: 5
主要是因为我本来的gemfile
里面是这样写的
group :development, :test do
gem 'sqlite3'
# Generate sample data
gem 'faker'
end
group :production do
gem 'pg'
gem 'rails_12factor'
end
如果没有把 production 改成 postgresql,就会报找不到 gem sqlite3 的错误。(heroku 没有这个问题)
2. 创建并绑定数据库 不需要去填写 database.yml 中的值,直接在 coding 的设置里面选择即可 服务管理 -> 绑定 PostgreSQL database
3. 修改 gemfile 源 把 gemfile 里面的 source 改成淘宝的源
# source 'https://rubygems.org'
source 'https://ruby.taobao.org/' # 改成这个
4. 一键部署
注意填写 master 分支,否则下面一键部署按钮是 disable 状态。(我刚开始的时候填了 master,但是后来就忘记了)
然后脚本那里按照自己的需求填写命令,比如,我最开始需要 seed,那就是
bundle exec rake db:migrate && bundle exec rake db:seed && bundle exec rails s -p $PORT
一般情况下,是bundle exec rake db:migrate && bundle exec rails s -p $PORT
具体,见http://docs.coding.io/languages/ruby 当中的rake
credits:https://ruby-china.org/topics/24517
=============== 最后,关于 Gemfile, 可以试试这个 https://ruby-china.org/topics/26314 (我个人感觉不是很灵。其实只要 gem 没有更新,用 rubygem 的源就没问题;更新了的话,就得换国内淘宝的源)
Push 到 Coding 不输入密码 https://coding.net/help/faq/git/git.html#%E6%AF%8F%E6%AC%A1-push-%E7%9A%84%E6%97%B6%E5%80%99%E5%A6%82%E4%BD%95%E4%B8%8D%E7%94%A8%E8%BE%93%E5%85%A5%E5%AF%86%E7%A0%81%EF%BC%9F