こんにちは、のまち(@bokunomad)です。
スキマ時間を使ってRailsチュートリアルを進めてますが、やはり実際に手打ちしていると思わぬエラーに遭遇してしまいます。
今回はherokuでのデプロイと以前に少しさわったことのある箇所だったのですんなりと進めることができました。
Contents
1.5 デプロイする
Herokuはホスティングプラットフォームで、ざっくり言うと本来Webアプリを公開するために必要なサーバーやらルーターやらデータベースなどの公開環境を代行してくれるサービス。
Githubと同じような感覚で使えるため小規模アプリを作成する際のホスティングプラットフォームとして使いやすい。
1.5.1 Herokuセットアップ
Gemfileの本番環境(Production)にPostgresをインストール
group :production do gem 'pg', '0.20.0' end
HerokuはSQLiteが使用できないため、開発環境(Development)でのみ使用できるように記述する
group :development, :test do gem 'sqlite3', '1.3.13' gem 'byebug', '9.0.6', platform: :mri end
本番環境用のGemはインストールしないため「–without production」を入れてbundle install。結構時間かかるため待ちましょう。
bundle install --without production
赤字エラーが出たら
[!] There was an error parsing `Gemfile`: You cannot specify the same gem twice with different version requirements. You specified: sqlite3 (>= 0) and sqlite3 (= 1.3.13). Bundler cannot continue.
上記エラーはsqlite3が複数記述されているため起きたエラー。Gemfile内に複数記述されていないかを確認する。あれば1つにする。
コミットしてバージョン確認
git commit -a -m "Update Gemfile for Heroku" heroku --version heroku/7.0.86 linux-x64 node-v10.1.0
herokuにログイン
heroku login Email [***]:herokuに登録しているメールアドレス入力 Password: パスワード入力 Two-factor code: 二段階認証のパスワード入力
新しいアプリケーションを作成
heroku create
基本的にheroku createで作成するとランダムで名前が割り当てられる。
createの後ろにアプリケーション名を入れて作成することもできる。ただしHeroku上に同じ名前が存在すると作成できないので注意。
1.5.2 Herokuにデプロイする
git push heroku master heroku open
heroku openで実際にデプロイしたアプリケーションの確認。もしくはHerokuに移動してから確認するもよし。
まとめ
初期設定からデプロイまでの一連の作業が終わりました。次の2章からはscaffoldでミニアプリを作っていきます。
それでは、Railsチュートリアルを最後まで。第1章 heroku デプロイの記事でした。