GitHub Actions ↗ で Workers をデプロイできます。GitHub Actions ワークフローの設定方法は次のとおりです。
ローカルで Wrangler を実行するとき、Cloudflare API への認証は wrangler login コマンドで行われます。対話的な認証フローが始まります。CI/CD 環境は非対話的なため、Wrangler は Cloudflare API の認証に Cloudflare API トークン と アカウント ID が必要です。
Cloudflare アカウント ID の確認方法は アカウント ID とゾーン ID を探す を参照してください。
CI ジョブで Wrangler を認証する API トークンを作成するには:
-
Cloudflare ダッシュボードで Account API tokens ページを開きます。
Account API tokens を開く ↗ -
Create Token を選びます。
-
Permission policies で Custom ドロップダウンを開き、Edit Cloudflare Workers を選びます。
-
トークン名をカスタマイズします。
-
トークンのスコープを設定します。
生成される API トークンがアクセスできるアカウントとゾーンのリソースを選びます。トークンのアクセスを制限するため、スコープはできるだけ狭くすることを推奨します。たとえば 3 つの Cloudflare アカウントにアクセスできる場合、生成する API トークンは、Worker をデプロイするアカウントだけに制限します。
CI/CD 環境で Wrangler を実行する方法は、プロジェクトの構成(GitHub Actions / Jenkins / GitLab、または別のツール)によって異なります。
CI/CD を設定するには:
- CI/CD プラットフォームで、次をシークレットとして追加します。
CLOUDFLARE_ACCOUNT_ID: Worker をデプロイするアカウントの Cloudflare アカウント ID を設定します。CLOUDFLARE_API_TOKEN: 生成した Cloudflare API トークン を設定します。
- Worker のデプロイを担当するワークフローを作成します。このワークフローは
wrangler deployを実行します。次のセクションに GitHub Actions ↗ ワークフローの例があります。
Cloudflare は Workers をデプロイする 公式アクション ↗ を提供しています。main ブランチへの push で Worker をデプロイする、次のワークフロー例を参照してください。
name: Deploy Worker
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v6
- name: Build & Deploy Worker
uses: cloudflare/wrangler-action@v4
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}