意外と苦労したので、メモを残します。
この記事の目次
前提
・git、gitbashインストール済み。(git hubへpushできる状態)
・herokuアカウント作成済み。
・heroku CLIインストール済み。(これ)
・Ruby on Railsの開発環境構築済み。
・sqlite3インストール済み
・VS Codeインストール済み(VS Codeは必須ではないかも)
production.rbの内容を更新する
app > config > envirroments > production.rb
30行目あたりにある
# Do not fallback to assets pipeline if a precompiled asset is missed.
config.assets.compile = true ←これをtrueに変更
Ruby on RailsのGemFileを更新する
herokuではsqlite3ではなくDBにpostgresqlを使用するらしいので
group :development, :test do
gem 'sqlite3', '1.3.13' # sqlite3はここに
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
gem 'awesome_print'
end
group :development do
gem 'web-console', '>= 3.3.0'
gem 'listen', '>= 3.0.5', '< 3.2'
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
end
group :production do
gem 'pg', '0.20.0' # pgを追加する
end
設定変更したらインストール。
(ワークディレクトリ内でコマンド入力すること)
$ bundle install --without production
ここでいったんgit hubへpush
$ git add -A
$ git commit -m "config postgresql"
$ git push
herokuにログイン。
(git bashを管理者として実行する事)
$ heroku -v
# バージョン情報が出る
$ heroku login
heroku: Press any key to open up the browser to login or q to exit:
Opening browser to https://cli-auth.heroku.com/auth/cli/browser/a0611f64-184e-465d-8f88-12e96b1004d7
heroku: Waiting for login...
いよいよデプロイ
$ heroku create kaburanai-namae-wo-settei-suru
# create下は、アプリ名なので、被らない名前を設定する
$ git push heroku master
# 色々始まる
Delta compression using up to 4 threads.
Compressing objects: 100% (76/76), done.
(略)
$ heroku run rails db:migrate
それぞれ時間がかかるけど、そのまま待つここまでの処理で、アプリを開く事はできると思います。
herokuにログインして下画面のOpen appで開ける。

忘れちゃいけないマイグレーション&seed
$ heroku run rails db:migrate
$ heroku run rails db:seed
これでデプロイ完了だと思います。
2回目以降のデプロイ
# gitのmasterブランチへのマージは完了させたものとして
$ bundle install
$ git push heroku master
# 一度データベースを削除したいときは
heroku pg:reset DATABASE
# マイグレーションのやりなおし
$ heroku run rake db:migrate
$ heroku run rails db:seed
これで2回目以降も完了してるはずです。
![]() |
![]() |
---|
コメントを残す