0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Herokuへのデプロイ方法

Posted at

Herokuへのデプロイ方法を備忘録も兼ねて記述します。
なおこれはRails 6.0.0で作成したアプリをHeroku-18デプロイする方法になります。

まず Heroku CLIをインストール

ターミナル
% brew tap heroku/brew && brew install heroku

次に下記のコマンドを入力
バージョンが出れば成功

ターミナル
% heroku --version

heroku/7.40.0 darwin-x64 node-v12.16.2

Herokuにログイン

ターミナル
# Herokuへログインするためのコマンド
% heroku login --interactive
  => Enter your Heroku credentials.
# メールアドレスを入力し、エンターキーを押す
  => Email:
# パスワードを入力して、エンターキーを押す
  => Password:

緑色でメールアドレスが表示されれば成功です。

Heroku上にアプリケーションを作成

ターミナル
% cd ~/アプリのあるディレクトリ
% pwd
#カレントディレクトリを確認
% heroku create アプリケーション名

下記のコマンドを入力し設定が正しくできたか確認

ターミナル
% git config --list | grep heroku

ClearDBアドオンを追加
ClearDBアドオンとは、MySQLを使うためのツールでHerokuでMySQLを使用できるようになります

ターミナル
% heroku addons:add cleardb

データベースの変更をする
Ruby on Railsを使う場合は、MySQLに対応するGemについて考慮する必要があり、そちらの設定を変更する必要があるとのことです

ターミナル
% heroku_cleardb=`heroku config:get CLEARDB_DATABASE_URL`
ターミナル
% heroku config:set DATABASE_URL=mysql2${heroku_cleardb:5}
# 以下、コマンドの実行結果
Setting DATABASE_URL and restarting ⬢ ○○○○○... done, v◯◯
DATABASE_URL: mysql2://000000000000:0aa0000@us-cdbr-east-02.cleardb.com/heroku_aaa00000000?reconnect=true

次にHeroku上で非公開の値(サーバーのアクセスキーやAPIキーなど)を管理するために暗号化をする必要があります。
credentials.yml.encファイルという外部に漏らしたくない情報を扱う際に用いるファイルがあり、master.keyファイルでその暗号文を復元します。

まずcredentials.yml.encの中身を確認

ターミナル
% EDITOR="vi" bin/rails credentials:edit

確認後は、「escキー」→「:」→「q」と入力し、「enterキー」を押して閉じる
Heroku上にmaster.keyを設置する
Heroku上で環境変数を設定

ターミナル
% heroku config:set RAILS_MASTER_KEY=`cat config/master.key`

環境変数を確認
RAILS_MASTER_KEYという変数名で値が設定されていれば成功

ターミナル
% heroku config

Herokuで利用するStackを指定
Stackとは、Herokuにおけるアプリケーションの動作環境のことでStackはデプロイされたアプリケーションを読み取り正常に稼働させるために用意されています。
下記のコマンドを実行。

ターミナル
% heroku stack:set heroku-18 -a アプリケーション名

git push heroku masterを実行

ターミナル
% git push heroku master

Heroku上でマイグレーションを実行

ターミナル
% heroku run rails db:migrate

heroku apps:infoで公開を確認

ターミナル
% heroku apps:info

===○○○○○○
Addons:         cleardb:ignite
Auto Cert Mgmt: false
Dynos:          web: 1
Git URL:        https://git.heroku.com/○○○○○○.git
Owner:          sample@sample.com
Region:         us
Repo Size:      ○○○ KB
Slug Size:      ○○○ MB
Stack:          heroku-18
Web URL:        https:/○○○○○○.herokuapp.com/

あとはURLヘアクスして表示されれば成功

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?