0
0

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 3 years have passed since last update.

【Rails】herokuへのデプロイ

Posted at

完成したアプリをherokuへデプロイするまで

Railsアプリが完成したので、herokuへデプロイして公開したいと思います。
問題なくデプロイできるよう、こちらの参考記事をもとに細かく記録していきます!

Railsアプリの準備

config/routes.rbの設定

config/routes.rbにて、トップページを設定しておく必要があります。

config/routes.rb
Rails.application.routes.draw do
  get '/top', to: 'home#top'
  resources :posts
  root to: 'home#top' #トップページをhomeコントローラのtopアクションに設定
end

Gemfile,config/datebase.ymlの設定

まず、herokuの本番環境(production)にPostgreSQL(pg)がインストールされているので、その環境に合わせましょう。
Gemfileのgem 'sqlite3'と、書いてある箇所をコメントアウトします。
…ところが、見当たりません!

どうやら、アプリ作成時に

$rails new アプリ名 -d postgresql

を入力していたことにより、DBがデフォルトでpostgresqlになっていたことが原因だったようです。

今回は問題がありませんでしたが、私の事例に当てはまらない方は参考記事を参照してください。

config/environments/production.rbの設定

Railsは本番環境での動的な画像の表示がデフォルトでオフになっています。
画像を表示するために以下の記述をfalseからtrueに変更します。
この記述により、assets以下のフォルダから動的にコンパイルしながらページを読み込みます。

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

bin以下のフォルダの設定

rbenvを使用していない方は、binというフォルダの中の全てのファイルの一番上の記述を確認します。ruby 以降にバージョンの数字がある場合は削除し、以下のようにします。

#!/usr/bin/env ruby

これでRails側の準備は完了です!

herokuの準備

会員登録とCLIのインストール

herokuに会員登録し、CLI(Herokuをコマンドライン上から操作するためのツール)をインストールします。
Macの場合CLIはインストーラを使わず、Homebrewを使いましょう。

$brew tap heroku/brew && brew install heroku

バージョンが確認できればCLIのインストールは完了です。

$heroku --version
heroku/7.51.0 darwin-x64 node-v12.21.0

Railsアプリとherokuの紐づけ

ターミナルからherokuにログインします。

$heroku login -i

コマンドライン上でログインを求められますので、アカウント作成時のメールアドレスとパスワードを入力してください。
iオプションを付けない場合、ブラウザ上ですすめることになります。

Enter your Heroku credentials:
Email: ~~~~~@example.com
Password: **********
Logged in as ~~~~~@example.com

ログインしたら、cdコマンドでアプリのフォルダに移動します。そして、次のコマンドを入力します。

$heroku create 任意のアプリ名 (文字列はurlになる,何も入れないとランダムな名前になる)

なお、このコマンドはherokuとアプリを紐づけるコマンドなので、アプリごとに最初の一回だけ入力すればOKです。

herokuへのデプロイ

以下のコマンドでherokuへデプロイします。

$git push heroku master

私の場合、2~3分待たされました(不安になるからヤメテ)。
うまくいくと最終部に以下のような記述が。

remote:        https://***.herokuapp.com/ deployed to Heroku
remote: 
remote: Verifying deploy... done.
To https://git.heroku.com/***.git
 * [new branch]      master -> master

このURLが、自分のアプリのURLになります。

本番環境(heroku)でのマイグレーション

URLを入力する前に、最後の作業として本番環境でのDBのマイグレーションを行うためのコマンドを打ち込みます。

heroku run rails db:migrate

ローカル環境で記録されたデータは本番環境とは異なるため、「データが消えた!」とビックリしないように!

これで全て完了しました!お疲れ様でございました!

参考

【初心者向け】railsアプリをherokuを使って確実にデプロイする方法【決定版】
【超入門】基礎から始めるHerokuの使い方(初心者向け)

0
0
1

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?