2024年最終Sale!Amazonブラックフライデー特設ページを見る

RailsファイルをHerokuのデプロイする方法

当サイトのリンクには広告が含まれています。

Ruby on Railsで作ったファイルをHerokuにデプロイしようとしてもエラーが出る…

どうすればいいんだろう?

この記事では、そのような人に向けて、AWSやローカル環境で作ったRubyonRailsのアプリをHerokuにデプロイする方法を紹介します。

Herokuにデプロイするのは初心者の人には難しく感じる人も多いと思います。

デプロイしようとしても、エラーが出て挫折することも多いでしょう。

そんな初心者の人でもHerokuにデプロイできるように手順を解説していきます。

目次

Herokuにデプロイするために必要な事前準備

Herokuにデプロイする時に気をつけたいのが「SQL」の違いです。

Ruby on Railsの標準のSQLはsqlite3。
それに対してHerokuのSQLはPostgreSQLとなっています。

この違いを考えずにデプロイしようとするとエラーが起こります。

このSQLの違いを考慮して、問題なくHerokuにデプロイするためには、Gemfileとdatabase.ymlの2つを修正します。

Herokuにデプロイするために Gemfileを修正する

Ruby on Railsの初期設定では、全ての使用するSQLはSqlite3となっています。

Gemfileにもgem 'sqlite3’と書かれているのでこれを修正します。

Sqlite3は開発環境、テスト環境だけで使用するようにして、PostgreSQLはプロダクション環境でのみ使用するようにGemfileに書き込みます。

gem 'sqlite3’の場所を下のように書き換えてください。


gem 'sqlite3', group: :development
gem 'pg', group: :production

書き換えた後はbundle installします。

ただし、PostgreSQLはプロダクション環境でしか使用しないのでbundle installするときに、–without productionも付けるようにします。


$ bundle install --without production

無事インストールされれば、Gemfileの変更は完了です。

database.ymlを変更する

Gemfileの変更したら、次にConfig/database.ymlを修正します。

database.ymlを開くいて、下の方にあるproduction:という箇所を見てください。


production:
    : *default
  database: db/production.sqlite3

デフォルトでは、上記のようにプロダクション環境でもsqlite3を使用するように書かれています。

そこで、プロダクション環境ではPostgreSQLを使用するように以下のように書き換えましょう。


production:
    :*default
  adapter: postgresql
  encoding: unicode
  pool: 5

これでプロダクション環境ではsqlite3を使用せずに、PostgreSQLを使用するようになります。

変更を保存してHerokuのデプロイへ

上記で変更をした後は、変更を保存し、コミットします。
masterブランチ以外にいる場合は、masterブランチに移動して、変更したブランチをマージします。

まず変更を全て追加します。

$ git add -A

その後にコミットします。

$ git commit -m "change for heroku deploy"

そして、masaterブランチに移動します。

$ git checkout master

変更したブランチをマージします。

$ git merge **(変更したブランチ名)

MasterブランチからHerokuにデプロイする

では、ここからHerokuにデプロイしていきます。

Herokuのアカウントを作成していることを前提としているので、まだの人はアカウントの作成をしてから、次の通りに作業を進めてください。

Herokuにログイン

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

$ heroku login

上のコードをターミナルに入力すると「Press any key to open up the browser to login or q to exit:」と表示されるので、「q」以外の文字をキーボードで押しましょう。

すると、自動的にブラウザが立ち上がり、ログイン画面が表示されます。

「Log in」を押して、必要項目を入力すると、ログインすることができます。

「logged in」と表示されたら、ログイン完了です。

ファイルを作成する

次にファイルを作成します。

下のコマンドをターミナル上に打ち込んでください。

$ heroku create **(自分が付けたいアプリケーション名)

このファイル名が直接urlになります。

http://(自分が付けたHerokuアプリケーション名).herokuapp.com

同じ名前がある場合

すでに誰かが同じ名前を付けているものがある場合Name keijiban is already takenと表示されます。

名前はハイフンと数字を含めるようにした方がいいです。

無料でデプロイできる数を超えている場合

Herokuで無料でデプロイできる数は5個までです。
すでに5個デプロイしている場合はYou've reached the limit of 5 apps for unverified accounts. Delete some apps or add a credit card to verify your account.と表示されます。

使っていないものを削除するか、クレジットカードを登録しましょう。

自分が作成したファイルをHeroku上にpushする

$ git push heroku master

上のコマンドを打ち込むと、自分のローカル環境のMasterブランチからHerokuのMasterブランチへPushできます。

データの量にもよりますが、1分ほど時間がかかります。

Heroku上のデータベースを動かす

デプロイしただけでは、データベースは動いていません。

そのため、デプロイ先のデータベースを動かすために下のコマンドを打ち込みます。

$ heroku run rake db:migrate

データベースが無事動けば、これでHerokuへのデプロイは完了です。

デプロイされたものを見る

$ heroku open

上のコマンドをターミナルに打ち込むことで、ブラウザが立ち上がり、デプロイしたページが開きます。

heroku openで開いたページは、Root_pathの画面が表示されます。

表示されるurl

http://(自分が付けたHerokuアプリケーション名).herokuapp.com

そのため、root_pathを設定していない場合はurlを変更して、自分のページがちゃんと表示されているか確認しましょう。

masterブランチ以外からpush

masterブランチ以外のブランチからHerokuにpushする場合は下のコマンドを打ち込んでください。

$ heroku push heroku 現在のブランチ名:master

RailsファイルをHerokuのデプロイする方法まとめ

HerokuにデプロイするにはGemの変更とconfigのdatabaseの変更が必要だということでした。

手順通りにすれば、問題なくデプロイできるはずなので、落ち着いてチャレンジしてみてください。

>>Ruby on Railsの学習方法のまとめはこちら
あわせて読みたい
Ruby on Rasilsの学習方法まとめ Ruby on Railsを学びたいけど、どうやって学習したらいいんだろう? そんな「Ruby on Railsを独学で学びたい人」に向けて、Ruby on Railsの学習の進め方をまとめました...
あわせて読みたい
ポテパンキャンプの選考の流れとポイント【要チェック】 この記事では、の選考について紹介していきます。 僕自身、ポテパンキャンプの無料カウンセリングを受けて、受講することになりました。無料カウンセリングは同時に選考...
あわせて読みたい
ブログアフィリエイトするなら登録必須のおすすめASP9選【2023年版】 ASPはたくさんあるけど、どのASPに登録すればいいんだろう? この記事では、ブログで稼ぐために登録しておきたいASPを9つ紹介します。 9つ紹介しますが、できれば、全部...
あわせて読みたい
WordPressブログ運営に役立つツールまとめ【無料・有料】 この記事では、WordPressブログ運営に役立つツールを紹介していきます。 有料のものもありますが、ほとんどのものは無料で使えるので、ぜひ使ってみてください。 大きく...
あわせて読みたい
【2022年版】Amazonギフト券のチャージ式(Amazonチャージ)の2つのキャンペーン【ポイントを受け取るまで... Amazonギフト券のキャンペーンが開催中らしいけど、どんなものなのかな?利用できるのであれば、使ってみたい! このような疑問をお持ちの方に、現在Amazonギフト券のチ...
記事の共有・保存はこちら
  • URLをコピーしました!
目次