heroku安装及部署rails项目教程

heroku安装及部署rails项目教程

开发了一个带数据库的小项目,部署至heroku看看效果。

安装

macOS安装:

brew install heroku

其他系统安装参见heroku官网

检查是否安装好:

heroku version

确认 Heroku 命令行工具已经安装之后,使用 heroku 命令登录,然后添加 SSH 密钥:

heroku login
heroku keys:add

如果没有ssh key,请先生成 SSH 公钥

部署前准备

1. 将项目添加至git

进入项目目录,初始化git

git init

然后执行 git add -A 命令,把项目中的所有文件都放到仓库中:

git add -A

提交:

git commit -m "Initialize repository"

这里的提交仅仅将代码提交到了本地,一般都会提交至服务端,这里我用了 Bitbucket,这是一个专门用来托管和分享 Git 仓库的网站

提交远程仓库之前要做下面三件事:

  1. 如果没有账户,先注册一个 Bitbucket 账户;
  2. 添加公钥到账户控制中
  3. 创建一个仓库

建好远程仓库后,需要将本地项目与远程仓库关联:

git remote add origin [email protected]:/.git

提交本地项目

git push -u origin --all    

2. 修改 Gemfile

本地数据库使用的是sqlite,heroku不支持sqlite,因此需要配置对生产环境进行一些设置。

Gemfile中配置

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platform: :mri
  # sqlite数据库移动到里
  gem 'sqlite3'
end

# 添加production组,内部配置postgresql的插件
group :production do
  gem 'pg', '0.18.4'
end

修改完后需要运行

bundle install --without production

然后,提交这次改动:

git commit -a -m "Update Gemfile for Heroku"

部署并迁移数据

部署

git push heroku master

创建postgresql数据库

heroku addons:create heroku-postgresql:hobby-dev

查找数据库地址

heroku config -s | grep HEROKU_POSTGRESQL

将这个地址粘贴出来,修改database.yml中的生产环境配置

production:
  adapter: postgresql
  encoding: unicode
  database: postgres://xxxxxxx
  pool: 5
  timeout: 5000 

运行数据迁移

# 数据迁移
heroku run rake db:migrate
# 插入测试数据
heroku run rake db:seed

打开项目页面

heroku open

至此,部署彻底完成

你可能感兴趣的:(heroku安装及部署rails项目教程)