目次
①アプリ作成&リモートリポジトリ作成
②renderでDB作成
③Railsアプリのデプロイ関連ファイルの編集(Rails側)
- config/database.yamlの編集 gem “pg”の追加(本番環境用のDB設定)
- bin/render-build.shの編集(ビルド用スクリプトの作成)
- config/puma.rbの編集(サーバー起動用スクリプトの編集)
- credentials.yaml/master.key/gitignoreの確認&編集
④Render側での設定 - サービス作成から環境変数設定画面へ
- 環境変数の設定
- ビルド&デプロイを開始
⑤デプロイの成功を確認
詳細
①アプリ作成&リモートリポジトリ作成
②renderでDB作成
create new service >> postgrespl
③Railsアプリのデプロイ関連ファイルの編集(Rails側)(すべて完了したら忘れずにリモートリポジトリにpushする)
- config/database.yamlの編集&gem “pg”の追加(本番環境用のDB設定)
#config/database.yaml
#productionセクションを以下のように変更
production:
<<: *default
adapter: postgresql
encoding: unicode
pool: 5
url: <%= ENV['DATABASE_URL'] %>
#gemfile
#productionセクションにpgを追加
group :production do
gem "pg", "~> 1.4"
end
#ターミナル
bundle install --without production
#謎のおまじない(まだよく調べてないがとりあえず必須のよう)
bundle lock --add-platform x86_64-linux
- bin/render-build.shの編集(ビルド用スクリプトの作成)
#!/usr/bin/env bash
set -o errexit # 1つでも失敗したら中断
bundle install
yarn install --check-files
bundle exec rake assets:precompile
bundle exec rake db:migrate
#上のファイルの実行権限の変更
chmod a+x bin/render-build.sh
- config/puma.rbの編集(サーバー起動用スクリプトの編集)
#config/puma.rbの確認。編集なしで問題なかった。
- credentials.yaml/master.key/gitignoreの確認&編集
credentials.yml・・・APIキーなどの機密情報を扱うファイル
master.key・・・credential.ymlの復号用の鍵。gitignoreに入れておく
上2つはrails newしたときに自動生成されるがない場合、もしくは扱う機密情報を編集したい場合は以下のコマンドでcredentials.ymlを編集するためのエディタを立ち上げる。
EDITOR=code rails credentials:edit
④Render側での設定
- サービス作成から環境変数設定画面へ
- 環境変数の設定
#サーバー起動、ビルドスクリプトの実行コマンド&環境変数の設定
Start Command = bundle exec puma -C config/puma.rb
Build Command =./bin/render-build.sh
DATABASE_URL = レンダーでDBを作成した場合:Internal Database URLの内容をコピペ
RAILS_MASTER_KEY = config/master.keyの内容をコピペ
- ビルド&デプロイを開始
⑤デプロイの成功を確認
Your service is live 🎉
のログが出た後、ログの左上にあるURLをクリックしてアプリが正常に動作するかを確かめる