Contents
Heroku CLIのインストールとアカウント準備
Heroku CLIのインストールとアカウント登録は、RubyアプリをHerokuにデプロイする際の前提条件です。現時点(2023年)の最新情報をもとにした手順と注意点をご説明します。Heroku CLIのバージョンやスタック選択など、技術環境の変化に伴う適切な対応が重要です。
Heroku CLIのインストール方法とバージョン確認
Heroku CLIは定期的にアップデートされるため、最新版を使用する必要があります。2023年時点で推奨されるバージョンはv8.x以上であり、古いバージョン(例: v4.0.0)はサポートが終了している可能性があります。
- 現在のバージョン確認方法:
bash
heroku --version
出力結果のHeroku CLI v8.x.x以上であれば最新です。
OSごとのインストール手順比較
| OS | インストール方法 | 备考 |
|---|---|---|
| macOS | brew install heroku/brew/heroku(Homebrew経由) |
Homebrewがインストールされている必要があります。 |
| Linux (Ubuntu) | 1. curl https://cli-assets.heroku.com/install-ubuntu.sh | sh2. heroku updateで更新 |
apt-getは非推奨(公式リポジトリへの登録が複雑)。 |
| Windows | Heroku CLI for Windows からインストーラをダウンロード | PowerShellまたはコマンドプロンプトで実行可能です。 |
注意: Herokuアカウントの作成時に2FA(二要素認証)を有効にすることを強く推奨します。
アプリケーション構成ファイルの作成とバージョン管理
Herokuへのデプロイには、Gemfile・Procfileといった設定ファイルが不可欠です。特にRubyバージョン指定はプロジェクト全体での統一が重要で、2023年現在ではRuby 3.1.x or 3.2.xが推奨されます。
GemfileとProcfileの記述例
以下にGemfile・Procfileの基本構成と、Heroku Buildpack選択の手順を示します。
Gemfileの必須項目
|
1 2 3 4 |
source 'https://rubygems.org' gem 'rails', '~> 7.0' # Railsバージョンはプロジェクト要件に応じて調整 gem 'pg' # Heroku Postgres対応ライブラリ |
Procfileの例(Heroku Buildpackを指定)
|
1 2 |
web: bundle exec rails server -p $PORT |
ヒント:
heroku/rubyBuildpackを明示的に設定するには、以下を実行します。
bash
heroku buildpacks:set https://github.com/heroku/heroku-buildpack-ruby.git
.ruby-versionファイルの推奨バージョン
.ruby-versionファイルに記載するRubyバージョンは、Herokuが自動検出するため、プロジェクト全体で統一することが重要です。2023年時点でRuby 3.1.x or 3.2.xが推奨されます。
|
1 2 |
3.1.4 |
ローカル環境での動作確認とHerokuアプリ作成手順
ローカル環境でアプリケーションをテストした後、Herokuへの初期設定を行います。2023年時点での最新スタック(heroku-22)やコマンドオプションの使用を確認してください。
ローカル環境での動作確認手順
-
依存関係のインストール:
bash
bundle install -
サーバー起動:
bash
bundle exec rails server
http://localhost:3000 にアクセスし、表示が正常か確認します。
Heroku CLIによるアプリ初期設定
-
Herokuアカウント登録:
bash
heroku login -
新しいアプリの作成(2023年版):
bash
heroku create my-rails-app --stack heroku-22
--stackオプションは、Herokuが提供する最大スタック(2023年時点ではheroku-22)を指定します。
注意:
heroku-24スタックは2023年時点では存在していません。公式ドキュメントで最新情報を確認してください。
ソースコードのgitプッシュによるデプロイ
Herokuへのソースコード配信には、gitリポジトリの初期設定とpushコマンドが必要です。以下に具体的な手順を示します。
Herokuリモートリポジトリの追加手順
-
gitの初期化:
bash
git init -
Herokuリモートアドレスの設定:
bash
heroku git:remote -a my-rails-app
my-rails-appは先ほど作成したアプリ名です。
git push heroku main実行時の注意点
-
変更内容のコミット:
bash
git add .
git commit -m "Initial commit" -
Herokuへのプッシュ:
bash
git push heroku main
ここでmainブランチがデプロイ対象になります。
エラー時の基本対処法:
-Gemfile.lockの不整合は、bundle lock --updateで解決します。
- ビルドエラーがある場合は、heroku logs --tailで詳細を調査してください。
データベースマイグレーションとSSL設定
Herokuにデプロイしたアプリでは、PostgreSQLとの接続やSSL強制化が必須です。以下に2023年版の手順を記載します。
Heroku Postgresの接続設定
Heroku Postgresアドオンは、データベースURLを通じてRailsアプリケーションと接続されます。
-
Postgresアドオンの追加:
bash
heroku addons:create heroku-postgresql:hobby-dev -
DATABASE_URLの取得と
database.ymlへの記載:
bash
heroku config:get DATABASE_URL
結果をconfig/database.ymlにコピーします。
SSL強制設定(config.force_ssl)
アプリケーション内でのSSL強制化は以下のように実施します。
-
application.rbまたはproduction.rbに記述:
ruby
config.force_ssl = true -
Herokuのドメイン設定でHTTPSを有効化:
Herokuの「Domains and certificates」セクションで「Force HTTPS」をONにします。
セキュリティへの注意点: SSL証明書はHerokuが自動更新しているため、手動での管理は不要です。
デプロイ後の確認とアクセステスト
デプロイ後には、アプリケーションの動作やログ確認が必須です。以下に具体的な方法を解説します。
Heroku Logsの確認手順
-
実時ログの表示:
bash
heroku logs --tail -
特定時間帯のログ取得:
bash
heroku logs --since 2023-05-30T12:00:00Z --until 2023-05-31T14:00:00Z
ブラウザでのアクセステスト
デプロイ後のアプリケーションは、Heroku提供URLでアクセス可能です。
-
URLの確認:
bash
heroku open
またはhttps://my-rails-app.herokuapp.com/に直接アクセスします。 -
SSL証明書確認:
ブラウザのアドレスバーで「https://」が表示され、ロックマークが表示されていることを確認してください。
まとめ
本記事では、RubyアプリをHerokuにデプロイする際のステップバイステップ手順を解説しました。以下の点を再確認してください:
- Heroku CLIのインストールとアカウント登録
- Gemfile・Procfileの作成とバージョン管理
- ローカル環境での動作確認とHerokuアプリ初期設定
- git pushによるコード配信とデータベースマイグレーション
- SSL有効化設定とデプロイ後のアクセステスト
2023年時点で正しい技術選択(例: heroku-22スタック、Ruby 3.1.x)に基づいた手順に従い、安定した運用を目指してください。今後はHerokuの自動スケーリングや監視ツールも活用し、効率的な運用を実現しましょう。