初めまして
私は、オリアプを作成しており、そのうちの何個かは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を使えば簡単にアプリケーションの公開ができるのでおすすめです!
ここまで読んでいただきありがとうございました!