首先先介绍一下heroku:
维基百科
Heroku是一个支持多种编程语言的云平台即服务。在2010年被Salesforce.com收购。Heroku作为最开始的云平台之一[1]
,从2007年6月起开发,当时它仅支持Ruby,但后来增加了对Java、Node.js、Scala、Clojure、Python以及(未记录在正式文件上)PHP和Perl的支持。基础操作系统是Debian,在最新的堆栈则是基于Debian的Ubuntu[2]
。
用heroku部署rails应用十分简单,只要源码纳入Git版本控制系统就行。而且,多数情况下,使用heroku的免费套餐就可以。下面就简单记录一下我的部署,rails应用已经创建好,这里省略。直接进入你的项目文件夹。
搭建Heroku部署环境
首先我们打开项目中的Gemfile文件,这个文件注明了需要安装哪些gem包,并且在什么环境中还需要哪些包是其他环境中不需要的:
group :development, :test do
... #只在开发和测试环境需要的gem包
end
group :development do
... #只在开发环境需要的gem包
end
group :production do
... #只在生产环境需要的gem包
end
因为heroku使用的是PostgreSQL数据库,所以需要在生产环境中安装
pg gem
,这样 Rails 才能与 PostgreSQL 通信,将下面这段代码写进Gemfile当中:
group :production do
gem 'pg', '0.18.4'
end
第二点需要注意的是将gem 'sqlite3', '1.3.11'
放在开发测试环境中,因为Heroku不支持SQLite。
然后,执行下面的命令,代表安装gem包,但禁止在本地安装生产环境的gem包:
bundle install --without production
下面将更新的文件提交到Git上面,
git commit -a -m "update Gemfile for Heroku"
接下来需要注册并配置一个Heroku新账户,然后检查系统是否安装了Heroku命令行的客户端:
heroku version #检查是否安装heroku客户端
heroku login #登陆heroku
heroku keys:add #添加SSH密钥
heroku create #在heroku中创建一个新应用
下一步:开始部署
将本地代码推送到heroku上面。
git push heroku master
然后我们就可以通过在创建新应用中的网址访问我们的应用。
然后就完成了,或者执行下面命令,会自动打开:
heroku open
部署成功!
关于在heroku上部署的相关链接:
如果没有安装Heroku CLI可以参考:https://devcenter.heroku.com/articles/heroku-cli
关于部署以及更多的命令使用参考:https://devcenter.heroku.com/articles/getting-started-with-rails4