11
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RailsアプリをHerokuにデプロイする手順

Last updated at Posted at 2019-11-20

本記事は、以下の記事を自分用にまとめ直したものです。
【初心者向け】railsアプリをherokuを使って確実にデプロイする方法【決定版】

・Gitのインストール、Commit
・Heroku CLIのインストール
はできている前提で話を進めます。詳しい内容が知りたい方は、上記の記事をご参照ください。
##1.Railsでアプリを作成
各自アプリを作成します。rootにアクセスされた時にルーティングを忘れずに設定してください。

##2.Gemfileの設定
開発環境(ローカル)、本番環境(Heroku)のそれぞれで利用するデータベースの情報をGemfileに記述します。
まず12行目付近のgem 'sqlite3'をコメントアウトします。

Gemfile
# gem 'sqlite3'

次に40行目付近group :development, :test do ~~ end内に、開発環境、テスト環境用のデータベースに関するGemを追加します。

Gemfile
group :development, :test do


  gem 'sqlite3'


end

そして、group :development, :test doのかたまりの下に、本番環境用のデータベースに関するGemを追加します。

Gemfile
group :production do
  gem 'pg'
end

最後に、変更したGemfileを反映させます。

$bundle install --without production

--without productionというオプションを加えることで、group :produciton do~end内以外のgemだけを自分のパソコンにインストールすることができます。

このオプションは一度打ち込めば、アプリ内部の/bundle/configというところに書き込まれるため、2回目以降はbundle installだけでOKです。その他のbundle install時のオプションも全てここに書き込まれます。

##3.config/datebase.ymlの設定
ファイル下部production:の項目を以下のように編集します。
ymlファイルはインデントで構造を判別するので気をつけましょう。

/config/database.yml
production:
  <<: *default
  adapter: postgresql
  encoding: unicode
  pool: 5

adapter:接続するデータベースの種類
encoding:使用する文字コード
pool:DBに接続できる上限数?よくわかっていないのでいつか調べようと思います。

##4.config/environments/production.rbの設定
Sassなどの静的ファイルを、手動でプリコンパイルしなくても怒られないようにするために、動的プリコンパイルを有効にします。
31行目くらいにあるconfig.assets.compiletrueに変更しましょう。

config/environments/production.rb
config.assets.compile = true

##5.Herokuにデプロイ
###ログイン
コマンドラインからHerokuにログインします。

$ heroku login

以下のメッセージが表示されるので適当なキーをクリック。

heroku: Press any key to open up the browser to login or q to exit:

するとブラウザが開き、Herokuのページに遷移します。ログイン完了。コマンドラインに戻ってください的な英語が表示されているので、指示通りコマンドラインに戻りましょう。

###Herokuアプリを作成
heroku create {アプリ名}でHerokuアプリを作成します。
アプリ名は一意でなければいけないので、他の人がすでに使っている名前だとエラーが表示されます。
またアプリ名がドメインの一部になるので、ドメインに使えない文字列は利用できません。

$ heroku create d0ne1s-todo-app

###デプロイ

$ git push heroku master

###本番環境(Heroku)でマイグレーション
デプロイをしたマイグレーションファイルを元に、本番環境用のデータベースを作成します。

$ heroku run rails db:migrate

これで全てのデプロイ作業が完了です。

##アプリに修正を加えた時の操作
変更したソースをデプロイ

$ git push heroku master

データベースの構造を変更した時

$ heroku run rails db:migrate

##参考
【初心者向け】railsアプリをherokuを使って確実にデプロイする方法【決定版】

11
11
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
11
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?