10
9

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で公開する方法

Last updated at Posted at 2020-08-08

#プログラミングの勉強日記
2020年8月8日 Progate Lv.226

#目標
 すでにローカルで作成済みのRailsアプリケーションをHeroku上で公開する。(すでにGitHubにコードをプッシュ済み)

#方法

##1.Herokuに新規登録をする
 Herokuの公式サイトから新規登録を行う。(無料)

##2.Heroku用のデータベースをインストールする。
 Gemfileを以下のように書きかえる。

Gemfile
# 開発環境、テスト環境
group :development, :test do 
  gem 'sqlite3' # sqlite3
end

# 本番環境
group :production do 
  gem 'pg' # PostgreSQL
end
0808.PNG    Gemfileを書きかえたら、反映するために`bundle install`をする。
ターミナル
$ bundle install

データベースの設定ファイル(config/database.yml)を書きかえる。

config/database.yml
# 変更前
production:
  <<: *default
  database: db/production.sqlite3

# 変更後
production:
  <<: *default
  adapter: postgresql
  encoding: unicode
  pool: 5
0808-1.PNG

##2.5. herokuコマンドを使用する(herokuコマンドが使える人は飛ばしてOK)
 herokuコマンドを使うためには、heroku toolbaltというツールをインストールする必要がある。
 こちらからインストールすることができる。

 以下のコマンドでherokuコマンドが使えるか確認できる。(私はGit Bashで行った)

ターミナル
$ heroku --version

##3.Herokuにログインする

ターミナル(私はGit Bashを利用した)からログインする。

ターミナル
$ heroku login

ブラウザで以下のような画面が開く。

0808-2.PNG

 画面のLog Inを押すとログインすることができる。(ターミナルでも確認できる)

0808-3.PNG

##4.Heroku上でアプリを作成する
 自分でサービス名を決めて、以下のコマンドを実行する。サービス名は、最初が文字で始まり、最後が文字または数字である必要があり、小文字、数字、ダッシュのみを含めることができる。

ターミナル
$ heroku create サービス名

 アプリが作られていれば、https://サービス名.herokuapp.com/にアクセスすると以下の画面が出てくる。

0808-4.PNG

##5.Herokuにコードをプッシュする
 GitHubにコードが管理されていることが前提。

ターミナル
$ git push heroku master

 成功すると、先ほどのURLをリロードすると以下の画面が出てくる。

0808-5.PNG
ターミナル
$ heroku run rails db:migrate

 データベースを更新すると、先ほどのURLでサイトが表示される。

###メモ(ファイルを変更した場合のコマンド)

ターミナル
$ git add  -A

$ git commit -m "メッセージ"

$ git push heroku master

$ heroku run rails db:migrate

データベースをリセット(初期化)する場合
$ heroku pg:reset DATABASE

#問題点【追記】
以上の方法で、Heroku上Railsアプリケーションを公開することができた。
しかし、carrierwaveとcloudinaryを用いて画像を投稿する機能を作成したが、この部分がうまくいかないので、もう少し試行錯誤してみようと思う。
Herokuにcloudinaruを追加するときにクレカの登録が必要みたい、、?
[Heroku]Cloudinary環境においてCarrierwaveで画像をアップロードで解決しました!

#参考文献
挫折した人必見!HerokuでRailsアプリを公開する方法
herokuのデータベースをリセット/リストア/再構築する
HerokuにRailsアプリをデプロイする手順

10
9
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
10
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?