コンテンツにスキップ

CI/CDでの実行

Wranglerは継続的インテグレーション/継続的デプロイメント (CI/CD) 環境で実行できます。wrangler deployを使用して手動でアドホックデプロイを行うのではなく、CI/CD環境内からのみWorkersをデプロイすることが良いプラクティスです。他の利点の中でも、CI/CD環境内からWorkersをデプロイすることで、あなたのWorkerが一貫した環境内でビルドおよびデプロイされることが保証されます。また、CI/CD環境内からWorkersをデプロイすることで、本番環境の認証情報へのアクセスを制御しやすくなります。

1. 認証

ローカルでWranglerを実行する際、Cloudflare APIへの認証はwrangler loginコマンドを介して行われ、インタラクティブな認証フローが開始されます。CI/CD環境は非インタラクティブであるため、WranglerはCloudflare APIに認証するためにCloudflare APIトークンアカウントIDを必要とします。

CloudflareアカウントID

CloudflareアカウントIDを見つけるには、アカウントとゾーンIDを見つけるを参照してください。

APIトークン

CIジョブでWranglerを認証するためのAPIトークンを作成するには:

  1. Cloudflareダッシュボードにログインします。
  2. マイプロフィール > APIトークンを選択します。
  3. トークンを作成 > Cloudflare Workersの編集を見つけて、テンプレートを使用を選択します。
  4. トークン名をカスタマイズします。
  5. トークンのスコープを設定します。

生成されたAPIトークンがアクセスできるアカウントおよびゾーンリソースを選択する必要があります。トークンのアクセスを制限するために、できるだけスコープを狭めることをお勧めします。たとえば、3つの異なるCloudflareアカウントにアクセスできる場合、Workerをデプロイするアカウントのみに生成されたAPIトークンを制限するべきです。

2. CIの設定

CI/CD環境でWranglerを実行する方法は、プロジェクトの特定のセットアップ(GitHub Actions/Jenkins/GitLabなど)によって異なります。

CIを設定するには:

  1. CIプラットフォームに移動し、次の内容をシークレットとして追加します:
  1. Workerをデプロイする責任を持つワークフローを作成します。このワークフローはwrangler deployを実行する必要があります。次のセクションで、例としてGitHub Actionsのワークフローを確認してください。

GitHub Action

GitHub Actionsを使用している場合、CloudflareはWorkersをデプロイするための公式アクションを提供しています。以下の例のワークフローを参照してください。このワークフローは、mainブランチへのプッシュ時にWorkerをデプロイします。

name: Workerをデプロイ
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
timeout-minutes: 60
needs: test
steps:
- uses: actions/checkout@v4
- name: Workerのビルドとデプロイ
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}

GitLabパイプライン

GitLabのブログを参照して、例のパイプラインを確認してください。scriptキーの下で、npm run deploynpx wrangler deployに置き換えます。