技術要件
- Windows10
- vagrant2.0.1
- Ubuntu16.04
- Ruby4.2.1
- Rails5.1.1
既にvagrant上にRailsアプリを作ってあることを前提に話を進めていきます。
gemの追加
HerokuではPostgreSQLデータベースを使います。
そのためには、本番 (production) 環境にpgというgemをインストールし、RailsがPostgreSQLと通信できるようにします。
group :production do
gem 'pg', '0.20.0'
end
HerokuではSQLiteがサポートされていないため、sqlite3 gemが本番環境に導入されないようにしておきます。
group :development, :test do
gem 'sqlite3', '1.3.13'
gem 'byebug', '9.0.6', platform: :mri
end
本番用のgem (この場合はpg gem) をローカルの環境にはインストールしないようにするために、bundle installに「--without production」を追加します。
$ bundle install --without production
これをpushします。
$ git commit -a -m "Update Gemfile for Heroku"
Herokuのインストール
Herokuの公式サイト
https://signup.heroku.com/
から、アカウントを作成してください。
そうしたらHerokuをインストールしましょう。
$ curl https://cli-assets.heroku.com/install-ubuntu.sh | sh
続いて、自分のシステムにHerokuコマンドラインクライアントがインストールされているかどうかを確認します。
$ heroku --version
これでバージョンがきちんと表示されれば大丈夫です。
いよいよHerokuにログインして、SSH鍵を設定します。
$ heroku login
$ heroku keys:add
最後にheroku createコマンドを実行して、Herokuサーバーにサンプルアプリケーションの実行場所を作成します.
$ heroku create
デプロイ
Railsアプリケーションをデプロイしましょう!
$ git push heroku master
アプリケーションのデータベースを動作させるためには、次のheroku runコマンドを実行して本番データベースのマイグレーションを行う必要もあります.
$ heroku run rails db:migrate
これで動くはずです!
Railsアプリケーションを更新したいときは、git commit、git pushし、herokuにもpushすればOKです!