windows10でHerokuにrailsアプリをデプロイする方法メモ

ruby
記事内にプロモーションを含むことがあります

当サイトの記事内では、アフィリエイト広告を掲載している場合があります。

意外と苦労したので、メモを残します。

前提

・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回目以降も完了してるはずです。



 
記事内にプロモーションを含むことがあります

当サイトの記事内では、アフィリエイト広告を掲載している場合があります。

あ、宜しければ・・・。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です