iOSエンジニアのつぶやき

毎朝8:30に iOS 関連の技術について1つぶやいています。まれに釣りについてつぶやく可能性があります。

Cloud Functions を Node.js 10 移行する

久しぶりに Cloud Functions のコンソール画面を開いたら下記のような警告が来ていました。どうやら Node.js 8 が非推奨になり2021年の3月中旬には全面的にサポートされなくなるとのことなので、Node.js 10 へ移行します。

f:id:yum_fishing:20200808214754p:plain

Cloud Functions を新しい Node.js に移行する  |  Google Cloud Functions に関するドキュメント

移行していく

まずは Node.js 10 にバージョンアップするので、Deploy・エミュレーションができるように最新の Firebase CLI をインストールします。

$ npm install -g firebase-tools@latest

次に functions > package.jsonengines ブロックの node ターゲットを 10 に変更します。

"engines": {
  "node": "10"
}

ほとんどの場合 Node.js 8 と Node.js 10 ではコードが変更されることはありませんが、自動的にセットされる環境変数が変更されたみたいなので、詳しくは下記リンクを参照してください。

cloud.google.com

テストしてみる

firebase emulators:start でエミュレートをスタートさせ、View in Emulator UI で表示されたローカルポートで Emulator Suite を開きます。

f:id:yum_fishing:20200808221040p:plain

emulator がインストールされていない場合は下記コマンドでインストールします。

$ npm install -g @google-cloud/functions-emulator

http://localhost:5001/{project_name}/us-central1/{関数名}のように HTTP関数でリクエストを実行すれば、ローカル環境でテストを行うことができるようになります。

firebase.google.com

テストが完了したので最後にデプロイします。

$ firebase deploy --only functions

その他の記事

yamato8010.hatenablog.com

yamato8010.hatenablog.com

yamato8010.hatenablog.com