Skip to content

Heroku上の本番環境・ステージング環境について

ShinyaKato edited this page May 20, 2018 · 1 revision

本番/ステージング環境について

本番環境、ステージング環境をHeroku上に構築している。
それぞれ、Heroku Appの管理権限者から権限を付与してもらうこと。

本番環境へのデプロイmasterブランチのテストが成功した時点で自動で行われる。
ステージングは自動的に行われる設定にはなっていない。
ステージングは開発中のブランチを本番と同様の環境で動作確認するのに用いる。
手動で任意のブランチをデプロイできる。

ステージング環境にはBasic認証などを用いて関係者以外アクセスできないようにすることを推奨する。
特に公開前の問題をテストする用途にステージングを用いる場合は気をつけること。

Herokuで使用されるRuby, bundler, Node/npm, PosgreSQLのバージョンについて

Herokuのデプロイ処理の流れ

デプロイを行うと以下の処理が行われる。

  1. npm install
  2. npm run heroku-postbuild (npm run prod-build)
  3. bundle install
  4. bundle exec rake assets:precompile

Heroku CLIについて

Herokuサーバ上で直接コマンドを実行することができる。
本番データベースで直接クエリを発行する、直接rakeタスクを実行する際などに使用する。 https://devcenter.heroku.com/articles/heroku-cli

DBのマイグレーション

デプロイを行っても自動でデータベースのマイグレーションは行われないので注意。
Heroku CLIからコマンドを実行する。

ユーザーアカウントへの管理者権限の付与

以下のrakeタスクを本番/ステージング上で実行する。 他の方法では付与できない。

bundle exec rake admin_role:grant[<user_id>]