背景
以下の記事でデプロイを進めていく中で、わかりにくいことがあったので
その備忘録です!
流れ
今回のヘルプ集は上述の記事の中でフワッと記述されていた部分のみ抜粋します!
マスターキーについて
このマスターキーが出現するのはこの部分になります。
このように記述されていますが、あまり詳しくない方はわからないかもしれません。
このマスターキーに関しては、以下の流れで進めていけば問題ありません!
- コマンドを実行してマスターキーを生成
- Githubにpush
- Render.comのWebサイト上で環境変数を追加
コマンドを実行してマスターキーを生成
まず、ターミナルで以下のコマンドを実行しましょう。
手動で以下の階層にあるファイルを削除してもらっても大丈夫です!
(ファイルが見当たらない場合は実行せずに次のコマンドに進みましょう〜)
# Railsプロジェクトの階層で実行, ファイルを削除するコマンド
rm config/credentials.yml.enc config/master.key
次に、マスターキーを生成します。
EDITOR="vi" rails credentials:edit
Githubにpush
マスターキーの生成は終わったので、Githubにpushします。
git add .
git commit -m "masterKey生成"
git push origin HEAD
Render.comのWebサイト上で環境変数を追加
最後に、Render.comで環境変数としてマスターキーをセットします。
Dashboard>左のサイドバーにある「Environment」
既にDATABASE_URLがセットされていますが、みなさんはセットされていないかもしれません。
このようにマスターキーをセットしましょう。
マスターキーのValueはconfig/master.key
の内容です!
Gemfileについて
Gemfileの変更は明記されていませんでしたが
ポスグレ(postgreSQL)を使えるようにしないといけないです。
(公式で明記されています)
以下のような変更を加えてください。
# ~~~長いので割愛~~~
group :test do
# Adds support for Capybara system testing and selenium driver
gem 'capybara', '>= 3.26'
gem 'selenium-webdriver'
# Easy installation and use of web drivers to run system tests with browsers
gem 'webdrivers'
end
+group :production do
+ gem "pg", "~> 1.4"
+end
# ~~~長いので割愛~~~
Gem追加後は以下のコマンドを実行しておきましょう。
bundle install
render-build.shについて
bin/render-build.sh
の内容に関してですが
以下の内容で大丈夫です!
#!/usr/bin/env bash
# exit on error
set -o errexit
bundle install
bundle exec rake assets:precompile
bundle exec rake assets:clean
bundle exec rake db:migrate
render.yamlについて
ここが1番の難所です。
手動でDBとRailsを繋ぐなんてしたことない人は
正直さっぱりだと思います。
(筆者は初めてだったので結構手こずりました😅)
具体的には以下のような内容で問題ありません!
databases:
- name: Renderで作成したDBアプリ名
databaseName: 「Info内のConnectionsにあるDatabase」を入れる
user: Renderで作成したRailsのアプリ名
region: singapore
services:
- type: web
name: Renderで作成したRailsのアプリ名
env: ruby
region: singapore
plan: free
buildCommand: "./bin/render-build.sh"
startCommand: "bundle exec puma -C config/puma.rb"
envVars:
- key: DATABASE_URL
fromDatabase:
name: Renderで作成したDBアプリ名
property: connectionString
- key: RAILS_MASTER_KEY
sync: false
buildコマンドの編集
Settings
のBuild & Deploy
にあるBuild CommandをEditを押して以下のコマンドに変更します。
seedがない場合
bundle install && yarn install && bundle exec rake assets:precompile && bundle exec rake assets:clean && bundle exec rails webpacker:compile && bundle exec rake db:migrate
seedがある場合
bundle install && yarn install && bundle exec rake assets:precompile && bundle exec rake assets:clean && bundle exec rails webpacker:compile && bundle exec rake db:migrate && bundle exec rails db:seed
画像が表示されない
画像系のURLの中身を<%= asset_path('picture1.png') %>
に変えましょう!
具体例
background-image: url('<%= asset_path('picture1.png') %>')
background: url('<%= asset_path('picture1.png') %>')
<img src='<%= asset_path('picture1.png') %>'/>
外部サービスとの連携(APIキーの設定)
ダッシュボードからアプリに行った先の
「Environment」から環境変数をセットします。
筆者はCloudinaryを利用して画像投稿機能を実装していたので
以下のようにセットしました!
参考文献