バージョンとデプロイメント
バージョンは、あなたのWorkerの変更を追跡します。デプロイメントは、これらの変更がトラフィックにどのようにデプロイされるかを設定します。
あなたは、トラフィックを実際に提供しているバージョン(デプロイメント)を変更することなく、Workerに変更(バージョン)をアップロードできます。

バージョンとデプロイメントを使用することは、以下のような場合に便利です:
- Workers上で重要なアプリケーションを実行しており、新しいバージョンのWorkerをロールデプロイメント戦略を使用してデプロイする際のリスクを減らしたい場合。
- 新しいバージョンのWorkerをデプロイする際のパフォーマンスの違いを監視したい場合。
- Workers用にCIパイプラインが設定されているが、手動リリースを削減したい場合。
バージョンは、コードの状態とWorkerのwrangler.tomlファイルの設定の状態によって定義されます。バージョンは、バンドルされたコードの履歴的な変更や、バインディングや互換性日付および互換性フラグのような設定の変更を追跡します。
バージョンはまた、バージョンに関連するメタデータを追跡します。これには、バージョンID、バージョンを作成したユーザー、デプロイソース、タイムスタンプが含まれます。オプションで、バージョンメッセージとバージョンタグをバージョンアップロード時に設定できます。
デプロイメントは、トラフィックを実際に提供しているWorkerのバージョンを追跡します。デプロイメントは、1つまたは2つのWorkerのバージョンで構成されることがあります。
デフォルトでは、Workersは一度にすべてをデプロイするモデルをサポートしており、トラフィックは自動的に1つのバージョンから新しくデプロイされたバージョンに即座に移行します。あるいは、段階的デプロイメントを使用してロールデプロイメント戦略を作成することもできます。
デプロイメントに関連するメタデータも追跡できます。これには、デプロイメントを作成したユーザー、デプロイソース、タイムスタンプ、およびデプロイメント内のバージョンが含まれます。オプションで、デプロイメントを作成する際にデプロイメントメッセージを設定できます。
Workerのバージョンを作成し、それをデプロイするさまざまな方法を確認します。
wrangler deploy、Cloudflareダッシュボード、またはWorkers Script Upload APIを使用してアップロードされた変更は、新しいバージョンを作成し、トラフィックの100%に自動的にデプロイされます。
すぐにデプロイされないWorkerの新しいバージョンを作成するには、wrangler versions uploadコマンドを使用するか、Cloudflareダッシュボードで保存ボタンを使用して新しいバージョンを作成します。保存オプションは、「デプロイ」ボタンの隣の下矢印の下にあります。
この方法で作成されたバージョンは、その後、一度にデプロイするか、wrangler versions deployコマンドを使用するか、Cloudflareダッシュボードのデプロイメントタブを介して段階的にデプロイできます。
Wranglerを使用すると、最新の10バージョンとデプロイメントを表示できます。コマンドを表示するには、versions listおよびdeploymentsのドキュメントを参照してください。
Cloudflareダッシュボードでデプロイメントを表示するには:
- Cloudflareダッシュボード ↗にログインし、アカウントを選択します。
- Workers & Pagesに移動します。
- Workerを選択 > デプロイメント。
新しいWorkersプロジェクトを作成する際は、C3またはwrangler deployを使用する必要があります。初回にwrangler versions uploadを使用してWorkerをアップロードすると失敗します。
サービスワーカー構文は、wrangler versions uploadを介してアップロードされたバージョンにはサポートされていません。ESモジュール形式を使用する必要があります。
サービスワーカーからESモジュールへの移行を参照して、サービスワーカー形式からESモジュール形式にWorkerを移行する方法を学んでください。
Durable Objectの移行を伴うバージョンのアップロードはサポートされていません。Durable Objectの移行を適用する場合は、wrangler deployを使用してください。
これは近い将来にサポートされる予定です。