Ruby3.1.2/Ruby on Rails 7.04のサイトをdockerで作ってRender.comにデプロイする方法です。
参考にしたサイト
これでいけるかもhttps://t.co/XH05wE4gam
— りーず Leez(そーめる) (@so_meru) November 23, 2022
また、Windowsパソコンでは改行コードの問題でエラーが出たので
https://qiita.com/uggds/items/00a1974ec4f115616580
https://tadtadya.com/vs-code-settings-files-eol/
このあたりの設定をする必要があります。
https://teratail.com/questions/278349
このエラーが引き続き出たので
docker-compose build –no-cache
を実行してからアプリを作り直した(rails newをした)ところ、成功しました。
次に、GitHubにリポジトリを作成してコマンドラインでpushしようとするがうまくいかない。
GitHub Desktopで初回pushは「ローカルに存在するファイルをGitHubのリポジトリに上げる」というようなものを選択してpush。成功。
Renderで存在するリポジトリを選択してGitHubと接続。
接続したらNew+と書いてある部分をクリックして、Web Servicesを追加。
そうすると、有効なホスト名が設定されていませんというエラーが出るので、ホストを追加する。
有効なホスト名を設定してください的なエラー pic.twitter.com/6zKCezq1kM
— りーず Leez(そーめる) (@so_meru) November 23, 2022
config\environments\production.rb
のファイル内に
また同じファイルに
このように、|| ENV[‘RENDER’].present?
を追加します。
config\environments\ にある
development.rbとtest.rbには
config.hosts.clear
を追加します。これでホスト名関係は大丈夫なはず。
を設定してあげます。これはrender.comの管理画面で行います。
そうしたら、以下のファイルを作成。これはチュートリアルに書かれています。
bin\render.yaml
# databases:
# - name: mysite
# databaseName: mysite
# user: mysite
services:
- type: web
name: mysite
env: ruby
buildCommand: "./bin/render-build.sh"
startCommand: "bundle exec puma -C config/puma.rb"
envVars:
- key: DATABASE_URL
fromDatabase:
name: mysite
property: connectionString
- key: RAILS_MASTER_KEY
sync: false
このようにします。
今回データベースはConohaのデータベースを使っているので、コメントアウトしました。これで動いたのでとりあえずメモしておきます。
公式チュートリアル
https://render.com/docs/deploy-rails#deploy-to-render
ざっくりまとめ
・GitHubにソースが上がらなかったらGitHub Desktopをインストールしてアップロードするといける
・Render.comは外部のデータベース(今回はConoHaのMariaDB)
の設定は DATABASE_URL と RAILS_MASTER_KEY を管理画面で設定すればいけるっぽい。