Herokuとは?
Paasと呼ばれるクラウドサービスの一種で無料で使えるプランもあります。元々Rubyのアプリをホスティングするサービスでしたが、今はPHP等他のプログラミング言語に対応しています。
無料プランかつクレジット登録なしの場合
- 月550時間まで無料
- 30分間アクセスがなければスリープ状態になる。(スリープ状態の際は無料枠の時間は減りません。)
- DBはPostgreSQLのみ利用可能
- 独自ドメインは利用不可
- 同時に立ち上げることができるアプリは1つまで(有料なら複数可能)
Herokuの事前設定(Railsの場合)
Railsの設定
Gemfile
HerokuではPostgreSQLしか使えません。なので、開発環境にSQLiteを使っている場合は上記のように「group :development, :test do」に移動させます。そうすることで開発もしくはテスト時のみにSQLiteが利用される設定になります。
1 2 3 4 5 6 |
group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] # Use sqlite3 as the database for Active Record gem 'sqlite3', '~> 1.3.6' ★移動させる。 end |
下記の設定をして本番環境のみにPostgreSQLが使われるようにします。
1 2 3 |
group :production do gem 'pg', '~> 0.18.4' end |
RailsアプリのGemfileがあるディレクトリに移動して下記コマンドを実行します。
1 |
bundle install --without production |
config/database.ymlの設定
production環境の設定を下記のように修正します。
1 2 3 4 |
production: <<: *default adapter: postgresql encoding: unicode |
encoding: unicode
日本語も使える設定になります。
config/environments/production.rbの設定
下記の箇所をfalseからtrueに書き換えます。アセット(JSやCSS、画像ファイル)のプリコンパイルを行い高速にページを表示できるようになります。
1 2 |
# Do not fallback to assets pipeline if a precompiled asset is missed. config.assets.compile = true |
config/routes.rb
下記のようにrootが設定されているか確認します。設定されていない場合はエラーになるので注意です。
1 |
root 'XXX#index' |
Gitの設定
Railsアプリのディレクトリで下記コマンドを実行します。
1 |
git init |
下記コマンドを実行してgitのステージングエリアに追加します。
1 |
git add -A |
コミットします。
1 |
git commit -m "コメント" |
Heroku CLIの設定
https://devcenter.heroku.com/articles/heroku-cli
上記のHeroku-CLIのURLからダウンロードしてインストールします。Macの場合は下記コマンドを実行すればインストールできるようでした。
1 |
brew tap heroku/brew && brew install heroku |
インストールされたかの確認は下記コマンドにて行います。(バージョンが出力されればインストール完了です。)
1 |
heroku -v |
Herokuにログインする。
事前にHerokuのアカウントを作成した上で下記コマンドを実行します。
1 |
heroku login |
HerokuとRailsアプリの関連づけを行う。
1 |
heroku create アプリ名 |
アプリ名は公開する際のURLにも利用されます。
RailsアプリをHerokuにデプロイする。
下記コマンドを実行するだけでデプロイを行ってくれます。(非常に簡単です。)
1 |
git push heroku master |
DBのマイグレーションを行います。
1 |
heroku run rails db:migrate |
公開されたアプリを確認する。
1 |
heroku apps:info |
「Web URL」に公開されたURLが表示されます。
Herokuからアプリを削除する。
1 |
heroku apps:destroy --app アプリ名 |
この記事へのコメントはありません。