環境
AWS Cloud9
Ruby 2.5.3
Rails 5.2.3
はじめに
Qiita初投稿です。
毎回、忘れてしまうので自分への備忘録として。
前提として
Herokuにて登録していること
Gitを使用していること
公式サイト: Heroku
とりあえずHerokuとは
PaaS(Platform as a Service)と呼ばれるサービスで、サーバコンピュータを提供してくれるサービスである
Herokuへログイン
HerokuをCloud9のターミナルから操作するためのコマンドツール(heroku-cli)をインストールする。
$ wget https://cli-assets.heroku.com/heroku-linux-x64.tar.gz -O heroku.tar.gz
$ sudo mkdir -p /usr/local/lib/heroku
$ sudo tar --strip-components 1 -zxvf heroku.tar.gz -C /usr/local/lib/heroku
$ sudo ln -s /usr/local/lib/heroku/bin/heroku /usr/local/bin/heroku
ターミナル上で、Heroku にログインします。
$ heroku login -i
Enter your Heroku credentials.
Email: Herokuに登録したメールアドレスを入力
Password: Herokuに登録したパスワードを入力
自分の作ったプロジェクトフォルダへ移動する。
cd ~/environment/自分で作成したプロジェクトフォルダ
Heroku アプリを作成する
ターミナルにてherokuコマンドが使えるようになるので操作する。
$ heroku create [Herokuアプリ名]
※例: test-sample-123
※すでにあるアプリ名があった場合重複はできない
リモートリポジトリ heroku の確認
$ git remote -v
Heroku用の設定
Herokuは標準はPostgreSQLなので開発環境でMySQL等、使用していた場合設定する
Gemfile
group :production do
gem 'pg', '>= 0.18', '< 2.0'
end
開発環境で読み込む必要がないので --without production
を付ける
$ bundle install --without production
database.yml
も下記のように修正する
config/database.yml
production:
adapter: postgresql
encoding: unicode
pool: 5
database: message-board_production # 注意
username: message-board # 注意
password: <%= ENV['MESSAGE-BOARD_DATABASE_PASSWORD'] %> # 注意
注意: message-board、MESSAGE-BOARDはアプリ名で変わります。
Gitコミットを最新にする
$ git add .
$ git commit -m 'new heroku'
本番環境用にDBをマイグレーションする
$ heroku run rails db:migrate
デプロイ開始
$ git push heroku master