🐵
Cloud Runで8080PORTで起動できないエラーが発生する
はじめに
株式会社Mambacomの太田です。
今回はRailsアプリケーションをGitHub Actionsを使いCloudRunにデプロイしようとした際に発生したエラーについてお話します。
発生したエラー
ERROR: (gcloud.run.services.replace) Revision '*********' is not ready and cannot serve traffic. The user-provided container failed to start and listen on the port defined provided by the PORT=8080 environment variable. Logs for this revision might contain more information.
Cloud Runでよく見るエラーで、ポート8080でデプロイしたアプリケーションが正常に起動していないというエラーです。
Cloud Runではポート8080を使うことが前提です。なのでアプリケーションのポートを8080に設定しましたが、エラーは解消されませんでした。
解決方法
Cloud Runで詳細なログを確認してみました。
2024-09-18 19:22:56.083 JST
ArgumentError: Missing `secret_key_base` for 'production' environment, set this string with `bin/rails credentials:edit` (ArgumentError)
2024-09-18 19:22:56.083 JST
raise ArgumentError, "Missing `secret_key_base` for '#{Rails.env}' environment, set this string with `bin/rails credentials:edit`"
2024-09-18 19:22:56.083 JST
このエラーは Railsのsecret_key_base
が設定されてないよと言うエラーでした。
これにより起動ができていなかったようです。
ただ「8080ポートが〜」と言うエラーがわざわざ出ていたので、勘違いしがちですがそんなことはなかったです。
おわりに
ちゃんと詳細までログをみましょうと言うお話でした。
Discussion