🗂
【heroku 】サブディレクトリにあるRailsプロジェクトをデプロイする
これはなに?
- サブディレクトリにあるRailsプロジェクトを、herokuにデプロイしたい際のメモです。
- 構成は以下みたいな感じ
- Railsプロジェクトをバックエンド配下に、フロントのプロジェクトをfrontend配下に
├── backend
│ ├── app
│ ├── bin
│ ├── config
│ ├── db
│ ├── lib
│ ├── log
│ ├── public
│ ├── spec
│ ├── storage
│ ├── tmp
│ └── vendor
└── frontend
├── node_modules
├── public
└── src
結論
# backendディレクトリ配下のプロジェクトをdeploy
git subtree push --prefix backend/ heroku master
# migration
heroku rake db:migrate
導入メモ
- herokuのプロジェクト作成
$ heroku create project
- deploy
$ git subtree push --prefix backend/ heroku master
- DB作成(Mysqlの場合)
$ heroku addons:create cleardb:ignite
- DBの設定確認
$ heroku config
# DBの設定
CLEARDB_DATABASE_URL: mysql://<ユーザー名>:<パスワード>@<ホスト名>/<データベース名>?reconnect=true
- 環境変数の設定
$ heroku config:add DB_NAME='<データベース名>'
$ heroku config:add DB_USERNAME='<ユーザー名>'
$ heroku config:add DB_PASSWORD='<パスワード>'
$ heroku config:add DB_HOSTNAME='<ホスト名>'
$ heroku config:add DB_PORT='3306'
$ heroku config:add DATABASE_URL='mysql2://<ユーザー名>:<パスワード>@<ホスト名>/<データベース名>?reconnect=true'
- database.ymlの更新
production:
<<: *default
host: <%= ENV["DB_HOSTNAME"] %>
database: <%= ENV["DB_NAME"] %>
username: <%= ENV["DB_USERNAME"] %>
password: <%= ENV["DB_PASSWORD"] %>
- migration
$ heroku rake db:migrate
最後に
- サブディレクトリでデプロイするのに少しはまりましたが、heroku楽ちん〜
Discussion