Git リポジトリを Worker に接続するとき、ビルドとデプロイに必要な設定をカスタマイズできます。
接続したリポジトリにコミットが push されると、Workers Builds は次の 2 ステップを実行します。
- ビルドコマンド (任意) — プロジェクトをコンパイルします(例: Next.js や Astro などのフレームワーク向けの
npm run build) - デプロイコマンド — Worker を Cloudflare にデプロイします(既定は
npx wrangler deploy)
プレビュービルド(本番ブランチ以外へのコミット)では、デプロイコマンドの代わりに プレビューデプロイコマンド(既定は npx wrangler versions upload)が使われます。プレビューバージョンを作成し、本番には昇格しません。
ビルド設定は、Worker 内の Settings > Build から確認できます。
ビルド設定を更新して保存すると、更新後の設定は 次の ビルドに適用されます。ビルドを 再試行 すると、再試行時点のビルド設定が適用されます。
| 設定 | 説明 |
|---|---|
| Git アカウント | 使用する Git アカウントを選びます。初回接続後も、同じ Git アカウントを以降のプロジェクトで使えます。 |
| Git リポジトリ | Worker に接続する Git リポジトリを選びます。 |
| Git ブランチ | 新しいコミットを監視するブランチを選びます。既定は main です。 |
| ビルドコマンド (任意) | プロジェクトにビルド手順が必要な場合(例: npm run build)はビルドコマンドを設定します。Next.js や Remix などの フロントエンドフレームワーク を使うときに必要です。 |
| デプロイコマンド | デプロイコマンドでは、Worker のデプロイに使う 具体的な Wrangler コマンド を設定できます。既定は npx wrangler deploy ですが、カスタマイズできます。Workers Builds は package.json に指定した Wrangler のバージョンを使います。 |
| 非本番ブランチのデプロイコマンド | 非本番ブランチのコミットに対するビルド を実行するときのコマンドを設定します。既定は npx wrangler versions upload ですが、カスタマイズできます。Workers Builds は package.json に指定した Wrangler のバージョンを使います。 |
| ルートディレクトリ (任意) | プロジェクトのパスを指定します。ルートディレクトリはビルドコマンドの実行場所を決めます。モノレポ で、リポジトリ内の特定プロジェクトだけをビルド対象にしたい場合に便利です。 |
| API トークン (任意) | API トークンはビルドリクエストの認証と、Cloudflare への Worker のアップロードおよびデプロイの認可に使います。既定では、Workers Builds 利用時にアカウント用の API トークンが自動生成され、以降のビルドでも同じトークンが使われます。または、独自の API トークンを作成 するか、すでに持っているトークンを選べます。 |
| ビルド変数とシークレット (任意) | ビルドからのみアクセスできる環境変数とシークレットを追加します。ビルド変数はランタイムでは使えません。ランタイム変数を設定する場合は Settings > Variables & Secrets で行います。 |
デプロイコマンドは、任意のパッケージマネージャーで実行できます。
package.json に Wrangler のデプロイコマンドをスクリプトとして追加している場合は、それをデプロイコマンドに指定して実行できます。例: npm run deploy。
設定できるデプロイコマンドの例は次のとおりです。
| コマンド例 | 説明 |
|---|---|
npx wrangler deploy --assets ./public/ |
指定ディレクトリの静的アセットと一緒に Worker をデプロイします。または assets バインディング も使えます。 |
npx wrangler deploy --env staging |
Wrangler 環境 の Worker がある場合は、環境フラグ付きでデプロイコマンドを設定します。詳細は 高度なセットアップ を参照してください。 |
npx wrangler deploy --containers-rollout=immediate |
このデプロイの Containers ロールアウトモードです。ロールアウト を参照してください。 |
npx wrangler deploy --containers-rollout=none |
Worker のみをデプロイします。コンテナイメージのビルド / プッシュとインスタンスのロールアウトはスキップします。 |
非本番ブランチのデプロイコマンドは、非本番ブランチビルド を有効にしている場合にだけ適用されます。
既定は npx wrangler versions upload で、プレビュー URL を生成します。ビルドコマンドやデプロイコマンドと同様に、任意のコマンドにカスタマイズできます。
設定できる非本番ブランチのデプロイコマンドの例は次のとおりです。
| コマンド例 | 説明 |
|---|---|
yarn exec wrangler versions upload |
Wrangler の実行に使うパッケージマネージャーをカスタマイズできます。 |
npx wrangler versions upload --env staging |
Wrangler 環境 の Worker がある場合は、環境フラグ付きで非本番ブランチのデプロイコマンドを設定します。詳細は 高度なセットアップ を参照してください。 |
リポジトリに Wrangler 設定ファイルがない場合、デプロイコマンド(wrangler deploy)は プロジェクトの自動設定 を起動します。フレームワークを検出し、必要な設定を作成して、確認用の プルリクエスト を開きます。PR をマージするとプロジェクトが設定され、以降のビルドは通常どおりデプロイされます。
Workers Builds の API トークンは、Workers Builds がアカウントのリソースにアクセスする権限を定義します。現在はユーザートークンのみ対応しており、アカウント所有トークンの対応は近日公開予定です。
Create new token を選ぶと、次の権限を持つ API トークンが自動作成されます。
- Account: Account Settings(読み取り)、Workers Scripts(編集)、Workers KV Storage(編集)、Workers R2 Storage(編集)
- Zone: アカウント上のすべてのゾーンに対する Workers Routes(編集)
- User: User Details(読み取り)、Memberships(読み取り)
この API トークンの権限は、ユーザートークンの場合 My Profile > API Tokens から設定できます。
Worker のアップロードとデプロイでは、同じ API トークンを一貫して使い、アクセス権限を揃えることを推奨します。
Cloudflare Workers では 静的アセット と フレームワーク に対応しています。Workers プロジェクトのセットアップと、各フレームワークのコマンドはフレームワークガイドで確認できます。
ビルドにカスタムの環境変数を渡せます。
ダッシュボードで環境変数を追加する手順は次のとおりです。
- Cloudflare ダッシュボードで Workers & Pages ページを開きます。
- Overview で Worker を選びます。
- Settings > Environment variables を選びます。
Wrangler で環境変数を追加するには、Wrangler ファイルの [vars] 設定でテキストと JSON を定義します。
{
"$schema": "./node_modules/wrangler/config-schema.json",
"name": "my-worker-dev",
"vars": {
"API_HOST": "example.com",
"API_ACCOUNT_ID": "example_user",
"SERVICE_X_DATA": {
"URL": "service-x-api.dev.example",
"MY_ID": 123
}
}
}"$schema" = "./node_modules/wrangler/config-schema.json"
name = "my-worker-dev"
[vars]
API_HOST = "example.com"
API_ACCOUNT_ID = "example_user"
[vars.SERVICE_X_DATA]
URL = "service-x-api.dev.example"
MY_ID = 123次のシステム環境変数は既定で注入されます(上書きできます)。
| 環境変数 | 注入される値 | 使用例 |
|---|---|---|
CI |
true |
CI 上とローカルでビルドの挙動を変える |
WORKERS_CI |
1 |
Workers Builds 上とローカルでビルドの挙動を変える |
WORKERS_CI_BUILD_UUID |
<build-uuid-of-current-build> |
カスタムワークフローにビルド UUID を渡す |
WORKERS_CI_COMMIT_SHA |
<sha1-hash-of-current-commit> |
現在のコミット ID をエラー報告(例: Sentry)に渡す |
WORKERS_CI_BRANCH |
<branch-name-from-push-event |
ブランチに応じてビルドをカスタマイズする(例: production でデバッグログを無効化する) |