Herokuを用いてアプリを公開する方法

 

Herokuとは

 Herokuとは、アプリケーションの公開を行うためのサーバーを提供するサービスのことです。基本機能だけであれば、無料で使用できます。アプリケーションを公開して利用可能な状態にすることをデプロイと言います。

 下記のリンクからアカウントを作成できます。

https://signup.heroku.com/login

 

デプロイしよう!

 では、アカウントを作成したら、デプロイをしていきましょう。

デプロイの手順は下記の通りです。

 

1. Heroku CLIのインストール

2. Herokuにログイン

3. アプリケーションの作成

4. データベースの設定

5. 設定の変更

6. credentials.yml.encの中身の確認

7. Heroku上にmasterキーを設置

8. 動作環境の変更

9. Herokuへアプリケーションを追加

10. マイグレーションファイルの実行

11. 公開の確認

 Ruby on RailsGitHubを用いていることを前提に進めていきます。

 

1. Heroku CLIのインストール

 まずはターミナルからHerokuにアクセスできるようにしましょう。

ターミナルで下記のコマンドを実行するとHerokuのCLIのインストールができます。

% brew tap heroku/brew && brew install heroku

 

2. Herokuにログイン

 ターミナルで下記のコードを入力してHerokuへログインしましょう。

% heroku login --interactive

 

3. アプリケーションの作成

 デプロイしたいアプリ名のディレクトリに移動した上で下記のコマンドを実行しましょう。

% cd アプリ名のディレクトリ
% heroku create アプリ名

 下記のコマンドで正しく設定できたかどうかを確認できます。

% git config --list | grep heroku

 

4. データベースの設定

 Herokuでは、使用するデータベースの設定がPostgreSQLとなっています。MySQLを使っている場合は、ClearDBアドオンを追加します。

% heroku addons:add cleardb

 

5. 設定の変更

 MySQLを設定を完了させて、Ruby on Railsを使う場合は、下記のコマンドで設定の変更を行います。cleardbデータベースのURLをheroku_cleardbに格納した上で、データベースのURLを再設定します。

% heroku_cleardb=`heroku config:get CLEARDB_DATABASE_URL`
% heroku config:set DATABASE_URL=mysql2${heroku_cleardb:5}

 

6. credentials.yml.encの中身の確認

 credentials.yml.encとは、外部に漏らしたくない情報を扱うファイルです。またcredentials.yml.encファイルの暗号文を復号する、鍵の役割を持ったものがmaster.keyファイルです。下記のコマンドはcredentials.yml.encをmaster.keyによって復号し、中身を確認、編集するためのものです。

% EDITOR="vi" bin/rails credentials:edit

 「escキー」、「:」、「q」、「enterキー」でcredentials.yml.encを閉じます。

 

7. Heroku上にmasterキーを設置

 下記のコマンドを入力してHeroku上に環境変数を設定します。

% heroku config:set RAILS_MASTER_KEY=`cat config/master.key`

 また下記のコマンドで設定の確認ができます。

% heroku config

 

8. 動作環境の変更

 デプロイされたアプリケーションを読み取り、正常に稼働させるためにStackという動作環境が用意されています。使用しているrubyのバージョンに応じてstackを指定しましょう。例えばrubyのバージョン2.6.5の場合は「Heroku-20」ではなく「Heroku-18」です。

% heroku stack:set heroku-18 -a アプリ名

 

9. Herokuへアプリケーションを追加

 下記のコマンドで、gitで管理しているリポジトリをHerokuへ反映させます。

% git push heroku master

 

10. マイグレーションファイルの実行

 git push heroku masterでアプリケーションの情報はHerokuへ反映されましたが、データベースの情報は反映されていません。下記のコマンドを実行しましょう。

% heroku run rails db:migrate

 ここまでの作業で公開が完了です。

 

11. 公開の確認

 下記のコマンドを実行すると表示される、web urlへアクセスすると公開されたアプリケーションを確認できます。

% heroku apps:info

 

 

以上です!

お疲れ様でした!