0
0

More than 3 years have passed since last update.

Rails6 herokuでデプロイ

Posted at

初めまして

私は、オリアプを作成しており、そのうちの何個かはherokuでデプロイしています。
そこで、herokuでデプロイする方法を備忘録として残したいと思います。

環境

Rails6
Ruby2.6.5

Herokuを操作します。

まだ、Herokuをインストールしていない方は、どのディレクトリでもいいので下記を実行しましょう。

 % brew tap heroku/brew && brew install heroku

Herokuへログインします。

まだ、Herokuの登録ができていない方は、先に登録してくださいね。

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

Heroku上にアプリケーションを作成します。

自身のアプリのディレクトリに移動してください。そこで下記を実行します。


% heroku create アプリ名

#git config --list | grep heroku作成できているか確認できます。

Heroku上でDBを使えるようにします。

Heroku上のDBはデフォルトで「PostgreSQL」になっています。
なので、私はローカル環境で「Mysql」を使用していたのでDBの設定を変えます。


% heroku addons:add cleardb
#ClearDbを追加することで「Mysql」を使用できます。

% heroku_cleardb=`heroku config:get CLEARDB_DATABASE_URL`
# ClearDBのURLを変数heroku_cleardbに格納します。。

% heroku config:set DATABASE_URL=mysql2${heroku_cleardb:5}
#DBのURLを再設定します。

Heroku上にmaster.keyを設置します。

Heroku上にmaster.keyを環境変数として設置します。


% EDITOR="vi" bin/rails credentials:edit
#credentials.yml.encをmaster.keyによって復号し、中身を確認しておきます。
# 「escキー」「:」「q」で閉じることが出来ます
% heroku config:set RAILS_MASTER_KEY=`cat config/master.key`
# 本番環境へ設置します。
#heroku config で念のため設定できているか確認しておきます。

アプリケーションをプッシュします。

Herokuで「Stack」を指定します。
※Stackはデプロイされたアプリケーションを読み取り正常に動作させるためのもの

今回私は「Ruby2.6.5」の為、「heroku-18」を使います。


% heroku stack:set heroku-18 -a ご自身のアプリ名

% git push heroku master
# Herokuにプッシュします。

 Heroku上にマイグレーションファイルを上げます。

Heroku上にもDBを反映させなければ正しく動作しませんので反映させます。

% heroku run rails db:migrate

# heroku apps:infoでアプリの情報を見ることが出来ます。

上記の設定でアプリを公開することが出来ているはずです!

Heroku上のアプリを削除したい場合

HerokuのWebサイトから削除することが出来ます。
手順として
①削除したアプリを選択
②「Settings」の一番下の「Delete」を押して、アプリ名を入力し削除

しかし、削除しただけでは全て消えません。
gitのリモートリポジトリにherokuが設定されたままになっています!
下記を実行します。

% git remote rm heroku

最後に

herokuを使えば簡単にアプリケーションの公開ができるのでおすすめです!

ここまで読んでいただきありがとうございました!

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