LoginSignup
3
0

More than 1 year has passed since last update.

railsチュートリアル中にHerokuの無料期間が終わることが分かり、Herokuからrender.comに気合いで移行した話

Last updated at Posted at 2022-11-15

概要

タイトル通り
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は下記のように設定。

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の鍵があってないっぽいエラーを確認。
image.png

いろいろガチャガチャしてたのが悪いんかなと思い、一旦
master.keycredentials.yml.encを削除。
以下コマンドで再生成すればよいとのこと

EDITOR="mate --wait" bin/rails credentials:edit

各ファイルが生成された事を確認。
改めてビルドしたら無事移行できました。

一応同じ様にrailsチュートリアル中の方に向けて記事にしておきます。

おわりに

webサーバはこれでいいけど、
DBの方は無料で使えるのは90日までみたいだから、結局Heroku無き今、チュートリアル難民はDBで頭を抱えるのである…

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0