CI/CDでの実行
Wranglerは継続的インテグレーション/継続的デプロイメント (CI/CD) 環境で実行できます。wrangler deployを使用して手動でアドホックデプロイを行うのではなく、CI/CD環境内からのみWorkersをデプロイすることが良いプラクティスです。他の利点の中でも、CI/CD環境内からWorkersをデプロイすることで、あなたのWorkerが一貫した環境内でビルドおよびデプロイされることが保証されます。また、CI/CD環境内からWorkersをデプロイすることで、本番環境の認証情報へのアクセスを制御しやすくなります。
ローカルでWranglerを実行する際、Cloudflare APIへの認証はwrangler loginコマンドを介して行われ、インタラクティブな認証フローが開始されます。CI/CD環境は非インタラクティブであるため、WranglerはCloudflare APIに認証するためにCloudflare APIトークンとアカウントIDを必要とします。
CloudflareアカウントIDを見つけるには、アカウントとゾーンIDを見つけるを参照してください。
CIジョブでWranglerを認証するためのAPIトークンを作成するには:
- Cloudflareダッシュボード ↗にログインします。
- マイプロフィール > APIトークンを選択します。
- トークンを作成 > Cloudflare Workersの編集を見つけて、テンプレートを使用を選択します。
- トークン名をカスタマイズします。
- トークンのスコープを設定します。
生成されたAPIトークンがアクセスできるアカウントおよびゾーンリソースを選択する必要があります。トークンのアクセスを制限するために、できるだけスコープを狭めることをお勧めします。たとえば、3つの異なるCloudflareアカウントにアクセスできる場合、Workerをデプロイするアカウントのみに生成されたAPIトークンを制限するべきです。
CI/CD環境でWranglerを実行する方法は、プロジェクトの特定のセットアップ(GitHub Actions/Jenkins/GitLabなど)によって異なります。
CIを設定するには:
- CIプラットフォームに移動し、次の内容をシークレットとして追加します:
CLOUDFLARE_ACCOUNT_ID: デプロイしたいWorkerのアカウントのCloudflareアカウントIDに設定します。CLOUDFLARE_API_TOKEN: 生成したCloudflare APIトークンに設定します。
- Workerをデプロイする責任を持つワークフローを作成します。このワークフローは
wrangler deployを実行する必要があります。次のセクションで、例としてGitHub Actions ↗のワークフローを確認してください。
GitHub Actionsを使用している場合、CloudflareはWorkersをデプロイするための公式アクション ↗を提供しています。以下の例のワークフローを参照してください。このワークフローは、mainブランチへのプッシュ時にWorkerをデプロイします。
name: Workerをデプロイon: push: branches: - mainjobs: 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のブログ ↗を参照して、例のパイプラインを確認してください。scriptキーの下で、npm run deployをnpx wrangler deployに置き換えます。