Closed10

renderとplanetScaleを使ってWebアプリを作る

yukyuyukyu

render

とりあず、Rails new appして、それをデプロイするまでもっていく

yukyuyukyu

renderのダッシュボードから、New> WebService
Githubの当該リポジトリと連携

以上のような設定

yukyuyukyu


そもそもRails をAPIモードで使うのでBuild Commandはbundle install;に変更する

yukyuyukyu

Missing secret_key_base for 'production' environmentのエラーがでるので対処。
これはローカルにあるmaster.keyが.gitignoreに含まれており、ないためにエラーになる。
master.keyは暗号化されたファイルを復号するのに必要な鍵なので、Githubにプッシュしないのが正しい

なので、ローカルでmaster.keyの中身をコピーする
そして、renderで環境変数を設定する。keySECRET_KEY_BASEValueがコピーしたやつ

master.keyの役割についてはこれがわかりやすかった
https://qiita.com/scivola/items/cc06ddbfd94d3118f693#秘匿情報を扱う仕組み

yukyuyukyu

Fly.ioでAPIを動かすことにした。
render.com ではアクセスがないと止まってしまうので、APIが使えるようになるには30秒くらい待つ必要があるため、それがないFly.ioへデプロイする

yukyuyukyu

githubと連携しての自動デプロイができないので、renderのままにした

yukyuyukyu

Fly.ioへのデプロイが失敗する

$ fly deploy
==> Verifying app config
--> Verified app config
==> Building image
...
------
 > [internal] load remote build context:
------
Error failed to fetch an image or build from source: error building: error during connect: Post "http://...

とエラーがでた。
imageのbuildが終わらずタイムアウトしていそうなので

$ flyctl deploy --local-only

としてローカルでbuildを行い、imageをプッシュするようにした。
下記の記事を参考にした
https://mogura.dev/articles/2022/what-to-do-if-deploy-to-fly-io-fails/

$ flyctl wireguard websockets enable

としたら、 --local-onlyなしでも行けた

このスクラップは2022/12/29にクローズされました