Contents
Ruby on RailsアプリをHerokuにデプロイする手順|初心者でも確実に成功させる7ステップ
Ruby on RailsのアプリケーションをHerokuで公開するには、いくつかの準備と手順が必要です。本記事では、SQLiteからPostgreSQLへの切り替えやProcfile作成といったポイントをステップバイステップで解説し、初心者でも挫折せずにデプロイできる「確実な手順」を紹介します。
Herokuの公式ドキュメント(Heroku Dev Center)やQiitaの解説記事を参考にしつつ、2026年時点での最新情報も反映させた内容となっています。実際にRailsアプリを作成してHerokuにデプロイし、動作を確認してみましょう。
Heroku CLIのインストールと初期設定
Herokuでアプリを管理するには、まずHeroku CLI(コマンドラインインターフェース)をインストールすることが前提です。CLIを使用することで、ローカルでの開発環境とHerokuとの連携がスムーズになります。
Heroku CLIのインストール手順
- 公式サイトからCLIをダウンロード
- macOSユーザーはhttps://devcenter.heroku.com/ja/articles/heroku-cliより
brew install heroku/brew/herokuを使用 -
Windowsユーザーはhttps://www.heroku.com/downloadからインストーラーを実行
-
インストール後の初期設定
-
CLIを起動し、以下のコマンドでアカウント登録とログインを行います:
bash
heroku login -
ブラウザが開くので、Herokuアカウントのメールアドレスとパスワードを入力
注意点:CLIは一度インストールすれば、すべてのプロジェクトで共通して使用できます。
Railsアプリケーションの準備
HerokuではPostgreSQLを使用するため、ローカル環境のデータベース設定を変更する必要があります。また、Procfileというファイルを作成し、デプロイ時に実行させるコマンドを指定します。
Gemfileの修正(PostgreSQL対応)
-
Gemfileに
pggemを追加
ruby
gem 'pg', '~> 1.3' -
Gemfile.lockを更新
bash
bundle install
Procfileの作成方法
Herokuはアプリケーションを起動する際、Procfileに記載されたコマンドを使用します。
- プロジェクトルートに
Procfileを作成(拡張子なし) - 以下のように内容を記入
text
web: bundle exec rails server -p $PORT
補足:
$PORTはHerokuが自動的に割り当てるポート番号です。この設定がないと、アプリの起動に失敗します。
環境変数の設定方法
ローカル環境では.envファイルやrails.envで環境変数を管理できますが、Herokuでは直接コマンドで設定する方法が推奨されます。これにより、シークレット情報(APIキーなど)をコード内に直書きすることなく管理できます。
Heroku CLIでの環境変数設定
Herokuでは以下のコマンドで環境変数を設定できます:
|
1 2 |
heroku config:set API_KEY=your_api_key |
Tips:ローカル環境では
.envファイルを使用して開発用の値を管理することも可能です。
例:
API_KEY=local_dev_key
データベース接続設定
HerokuではPostgreSQLが自動で用意されるため、config/database.ymlにおけるproductionセクションは不要です。
config/database.ymlの編集
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
default: &default adapter: postgresql encoding: unicode pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> timeout: 5000 development: <<: *default database: myapp_development test: <<: *default database: myapp_test |
補足:Herokuでは
productionセクションの設定を無視し、自動生成されるデータベースURLを使用します。
PostgreSQLアドオンの有効化
-
Heroku CLIでPostgreSQLを追加
bash
heroku addons:create heroku-postgresql:hobby-dev -
デプロイ後にデータベースURLが自動的に設定されます
注意:
hobby-devプランは2026年時点で存在するか確認が必要です。Herokuの料金体系変更に伴い、代替プラン(例:heroku-postgresql:standard-0)を検討してください。
gitリポジトリとの連携
gitリポジトリとHerokuの連携さえできれば、git pushコマンドで簡単にデプロイできます。
Herokuリモートの追加手順
-
Herokuリモートを追加
bash
heroku git:remote -a your-app-name -
リモートが正しく設定されているか確認
bash
git remote -v
コミットメッセージの書き方のコツ
- 明確かつ具体的な内容を記載(例:
feat: ログイン機能実装) - デプロイに影響する変更は必ずコミット
- メモリリーク等の重大な修正時は、Branch名として
hotfix/xxxを使う
デプロイ後の確認とトラブルシューティング
デプロイ後にはアプリが正常に動作しているかを確認し、エラーがあれば対処が必要です。
ログ確認コマンドの使い方
以下のコマンドでリアルタイムにログを確認できます:
|
1 2 |
heroku logs --tail |
補足:Herokuではデプロイごとのログが自動保存されるため、過去のエラーも検索可能です。
よくあるエラーと対処法
| エラーメッセージ | 対処方法 |
|---|---|
| Could not find gem 'pg' | Gemfileにgem 'pg'が記載されているか確認し、bundle installを実行 |
| No such file or directory | Procfileが存在するか、ファイル名に拡張子がないか確認 |
| Database connection failed | Heroku PostgreSQLアドオンが有効化されているか、URLが正しく設定されているか |
まとめ
本記事では、Ruby on RailsアプリケーションをHerokuにデプロイする際の「確実な手順」をステップバイステップで解説しました。特に以下の点に注意してください:
- Procfileは必須ファイルであり、書き間違いがあると起動できません
- 環境変数管理には
heroku config:setを使用し、Figaro gemに依存しない方が現実的 - PostgreSQLへの接続設定が完了していないとデータベースにアクセスできません
Herokuデプロイは一見複雑に思えますが、準備をしっかりすることで非常にシンプルに実現可能です。ぜひ実際にアプリを作成して、Herokuへデプロイし、動作を確認してください。