Help us understand the problem. What is going on with this article?

railsアプリをHerokuにデプロイ

Cloud9から作成したrailsアプリをHerokuにデプロイする際に
色々と躓いたので成功した手順を書き留めておきます。

1.Herokuアカウント作成

以下のURLからHerokuアカウントを作成します。
https://jp.heroku.com/

無料プランでも月550時間の稼働時間が利用できます。
利用が想定されるユーザの規模が非常に小さい場合は無料プランで十分だと思います。

2.Herokuにアプリを作成

Herokuにログイン

$ Heroku login

プロジェクトフォルダに移動し、Herokuにrailsアプリを作成

$ Heroku create アプリ名

3.Heroku用の設定

以下のようにGemfileに追加

group :production do
  gem 'pg', '0.20.0'
end

以下のようにproduction:内の記述を変更

config/database.yml
production:
  adapter: postgresql
  encoding: unicode
  pool: 5
  database: フォルダ名_production
  username: フォルダ名
  password: <%= ENV['フォルダ名_DATABASE_PASSWORD'] %>

4.アプリをデプロイ

デプロイを実行

$ git push heroku master

マイグレーションを実行

$ Heroku run rails db:migrate

5.うまくいかない時

エラーが出る場合は3のherokuの設定もしくはGitでコミットできているかを確認してください。
それでもエラーが出る場合は下の項目を実行してみてください。
修正後はマイグレーションを実行しましょう。

PostgreSQL アドオンの追加

PostgreSQLのインストールができてない可能性があるため、手動でアドオンを追加します。

$ heroku addons:create heroku-postgresql:hobby-dev

環境変数の確認

実行に必要な環境変数が空になっている可能性があります。
configでそれぞれの環境変数に値が入っているかを確認してください。

$ heroku config

値が空だった場合は以下のコマンドで環境変数に値を入れます。

$ heroku config:set HENSU=hensu

エラーログ参照

以下のコマンドでログを確認すれば、エラーの詳細がわかります。

$ heroku logs

リアルタイムで出力したいなら以下のコマンド

$ heroku logs --tail

画像アップローダー

もし画像アップロード機能を実装している場合はローカルではなく
クラウド上にファイルが保存されるように設定を行う必要があります。
設定はこのあたりの記事が参考になりました。
https://qiita.com/junara/items/1899f23c091bcee3b058
https://qiita.com/daichi41/items/af2a56ea46c13ca55fd3
https://qiita.com/hmmrjn/items/479c9e9ce82771f1b6d7
https://pg-happy.jp/rails-aws-s3-upload.html

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした