#プログラミングの勉強日記
2020年8月8日 Progate Lv.226
#目標
すでにローカルで作成済みのRailsアプリケーションをHeroku上で公開する。(すでにGitHubにコードをプッシュ済み)
#方法
##1.Herokuに新規登録をする
Herokuの公式サイトから新規登録を行う。(無料)
##2.Heroku用のデータベースをインストールする。
Gemfileを以下のように書きかえる。
# 開発環境、テスト環境
group :development, :test do
gem 'sqlite3' # sqlite3
end
# 本番環境
group :production do
gem 'pg' # PostgreSQL
end
$ bundle install
データベースの設定ファイル(config/database.yml
)を書きかえる。
# 変更前
production:
<<: *default
database: db/production.sqlite3
# 変更後
production:
<<: *default
adapter: postgresql
encoding: unicode
pool: 5
##2.5. herokuコマンドを使用する(herokuコマンドが使える人は飛ばしてOK)
herokuコマンドを使うためには、heroku toolbaltというツールをインストールする必要がある。
こちらからインストールすることができる。
以下のコマンドでherokuコマンドが使えるか確認できる。(私はGit Bashで行った)
$ heroku --version
##3.Herokuにログインする
ターミナル(私はGit Bashを利用した)からログインする。
$ heroku login
ブラウザで以下のような画面が開く。
画面のLog Inを押すとログインすることができる。(ターミナルでも確認できる)
##4.Heroku上でアプリを作成する
自分でサービス名を決めて、以下のコマンドを実行する。サービス名は、最初が文字で始まり、最後が文字または数字である必要があり、小文字、数字、ダッシュのみを含めることができる。
$ heroku create サービス名
アプリが作られていれば、https://サービス名.herokuapp.com/
にアクセスすると以下の画面が出てくる。
##5.Herokuにコードをプッシュする
GitHubにコードが管理されていることが前提。
$ git push heroku master
成功すると、先ほどのURLをリロードすると以下の画面が出てくる。
$ 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アプリをデプロイする手順