Closed5

Honoで環境変数を使いCloudflareにデプロイする

ofkofk

Honoで環境変数を使う場合、Honoの公式ドキュメントには開発環境の話だけで、本番環境での適用はCloudflareのドキュメントを案内している。

https://hono.dev/docs/getting-started/cloudflare-workers#load-env-when-local-development

そのため、npm create hono@latest my-appに環境変数を追加した場合、npm run deployでは環境変数が反映されないことがわかりづらい(こちらは解決済み。後述)のと、そもそも環境変数を含めたデプロイの方法がわからないように思える。

ので、具体的な手順を模索する。

コードは以下にある。

https://github.com/ofk/example-hono-env

ofkofk

HonoからリンクされているCloudflareの環境変数のドキュメントによれば、

  1. Wranglerの設定ファイルにvarsを追加する
  2. ダッシュボードのウェブUIから追加する

とある。が、前者はgit管理されるのであり得なく、後者もメンテの関係から避けたい。

ofkofk

調べるとCloudflareのシークレットのドキュメントに、wrangler secret putが紹介されている(確かに環境変数と書いたが実際に設定したいのはAPIキーなどのシークレットである)。

$ npx wrangler secret put MY_NAME

 ⛅️ wrangler 4.10.0
-------------------

✔ Enter a secret value: … ****  # Honoと入力
🌀 Creating the secret for the Worker "hono-env" 
✨ Success! Uploaded secret MY_NAME

環境変数が一つ設定でき、レスポンスも変わる。

ofkofk

ファイルから一括でやる方法はないものかと適当に--helpを叩いたらwrangler secret bulkを見つけた。

$ npx wrangler secret bulk .dev.vars

 ⛅️ wrangler 4.10.0
-------------------

🌀 Creating the secrets for the Worker "hono-env" 
✨ Successfully created secret for key: MY_CALL
✨ Successfully created secret for key: MY_NAME

Finished processing secrets file:
✨ 2 secrets successfully uploaded

求めていたものでした。

このスクラップは5ヶ月前にクローズされました