概要
タイトル通り
5章やってたら突然無料終わります言われて泣いちゃった
対応内容
下記様を参考にデプロイ手前まで作業完了。
Render.comでRailsアプリの本番環境を作成する方法をどこよりも優しく伝える!
Render.com公式
設定をしていくうち、config/master.key
が必要とわかる。
その際、現在のGemfile
のrailsのバージョンではダメなことが分かり。
以下の様にGemfile
を設定変更
source 'https://rubygems.org'
ruby "2.6.8" #念のためrender.comがこのバージョンの為、変更
gem 'rails', '= 6.0.3.2' #updateしたら怒られたので怒られた通りに変更
gem 'bootstrap-sass', '3.3.7'
gem 'puma', '3.9.1'
gem 'sass-rails', '< 6' #updateしたら怒られたので怒られた通りに変更
gem 'uglifier', '3.2.0'
gem 'coffee-rails', '4.2.2'
gem 'jquery-rails', '4.3.1'
gem 'turbolinks', '5.0.1'
gem 'jbuilder', '2.7.0'
group :development, :test do
gem 'sqlite3', '~> 1.4'
gem 'byebug', '9.0.6', platform: :mri
end
group :development do
gem 'web-console', '3.5.1'
gem 'listen', '3.1.5'
gem 'spring', '2.1.1'
gem 'spring-watcher-listen', '2.0.1'
end
group :test do
gem 'rails-controller-testing', '~> 1.0.2' #updateしたら怒られたので怒られた通りに変更
gem 'minitest', '5.16.3'
gem 'minitest-reporters', '1.1.14'
gem 'guard', '2.16.2'
gem 'guard-minitest', '2.4.4'
end
group :production do
gem 'pg', '0.20.0'
end
# Windows環境ではtzinfo-dataというgemを含める必要があります
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
変更後bundle update
を通る様にする。
render.yamlは下記のように設定。
databases:
- name: <設定したデータベース名>
databaseName: <設定したデータベース名>
user: <設定したユーザー名>
region: singapore
services:
- type: web
name: <設定したサーバー名>
env: ruby
region: singapore
buildCommand: "./bin/render-build.sh"
startCommand: "bundle exec puma -C config/puma.rb"
envVars:
- key: <%= ENV['DATABASE_URL'] %>
fromDatabase:
name: <設定したデータベース名>
property: connectionString
- key: <%= ENV['RAILS_MASTER_KEY'] %>
sync: false
なんやかんやでシェルとか色々設定してビルドしたらもちろんビルドできなかったのでログを参照。
自分の場合公開鍵とrender.comの鍵があってないっぽいエラーを確認。
いろいろガチャガチャしてたのが悪いんかなと思い、一旦
master.key
とcredentials.yml.enc
を削除。
以下コマンドで再生成すればよいとのこと
EDITOR="mate --wait" bin/rails credentials:edit
各ファイルが生成された事を確認。
改めてビルドしたら無事移行できました。
一応同じ様にrailsチュートリアル中の方に向けて記事にしておきます。
おわりに
webサーバはこれでいいけど、
DBの方は無料で使えるのは90日までみたいだから、結局Heroku無き今、チュートリアル難民はDBで頭を抱えるのである…