Playground

Firebase Cloud Functions で “環境変数PORT=8080で指定されたポートで起動しない” 云々のエラーで悩まされた件

Playground
この記事は約2分で読めます。
スポンサーリンク

お久しぶりです。もみじんです。

個人で作っていた Firebase Cloud Functions のアプリがあります。

最近(と言っても一年ぐらい前)に v2 が正式にリリースされたということで、私も重い腰を上げてアップデートしました。

そのときに2日間悩まされたエラーがあったので同じ轍を踏まないように記事にしておきます。

スポンサーリンク

悩まされたエラーと解決

エラーの詳細

以下のエラーに悩まされました。

Ready condition status changed to False for Revision *****-civ with message: 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.

日本語訳: Revision *****-civ の Ready condition status が False に変更され、メッセージが表示されました: ユーザー提供のコンテナが、環境変数PORT=8080で定義されたポートでの起動とリッスンに失敗しました。このリビジョンのログには、より詳細な情報が含まれている可能性があります。

パッと見た限りでは、 コンテナがエラーが起きて PORT 8080 で起動しなかったような内容です。

デプロイの仕方を間違えたかなと思いました。
ちなみにログエクスプローラでのエラーメッセージ以下のとおりです。

解決方法

解決方法は至ってシンプルで、エラーログ以外を見ることでした。

そうすると、Cloud Functions v2 で非推奨のAPIを使っていたことがわかりました。

私の場合は、v2では使用できないfunctions.config() を使っていたことが原因でした。(実装中 & ビルドしたときはエラーが出ないので見つけづらい・・・)

環境変数の実装の仕方いつの間にか変わっていたんですね。

環境を構成する  |  Cloud Functions for Firebase

まとめ

Cloud Functions v1 -> v2 に移行したときに悩まされたエラーについて記載しました。

とりあえず問題は解決してよかったです。

こういうインフラ系は苦手なので誰かにやってもらいたいです。

コメント

タイトルとURLをコピーしました