Wrangler または Cloudflare ダッシュボードを使い、以前デプロイした Worker の バージョン へロールバックできます。以前のバージョンへロールバックすると、指定したバージョンで新しい デプロイ がすぐに作成され、デプロイ済みのすべてのルートとドメインでアクティブなデプロイになります。
次を含む、どのデプロイからでもロールバックできます。
- 単一バージョンのデプロイ(ロールバックすると、現在のバージョンが選んだバージョンに置き換わります)。
- 2 つのバージョンがある 分割デプロイ(ロールバックすると、両方のバージョンが選んだバージョンに置き換わり、トラフィックは 100% になります)。
Wrangler で指定したバージョンへロールバックするには、wrangler rollback コマンドを使います。
Cloudflare ダッシュボードで指定したバージョンへロールバックするには、次の手順を行います。
-
Cloudflare ダッシュボードで、Workers & Pages ページを開きます。
Workers & Pages を開く ↗ -
Worker を選び、Deployments を開きます。
-
ロールバック先のバージョンの右側にある三点リーダーを選び、Rollback を選びます。
段階的デプロイ で 2 つのバージョンがトラフィックを分けている場合、ロールバックすると次のようになります。
- 分割デプロイが、単一バージョンのデプロイに置き換わります。
- トラフィックの 100% が、ロールバック先に選んだバージョンへ送られます。
これにより、選んだバージョンがすべてのトラフィックを処理するようになります。分割デプロイの一方に問題が見つかり、安定したバージョンへすぐに戻したいときに便利です。
分割デプロイからロールバックするには、次の手順を行います。
- 分割デプロイのうち、安定して正しく動いているバージョンを特定します。
- ロールバック手順 または ダッシュボードのロールバック で、そのバージョンへロールバックします。
- 分割デプロイは、選んだバージョン(トラフィック 100%)に置き換わります。
ロールバックできるのは、直近に公開された 100 バージョンまでです。
Cloudflare Developer Platform のリソース(KV や D1 など)が、ロールバック先のバージョンとアクティブなデプロイのバージョンのあいだで削除または変更されている場合、以前のバージョンへロールバックできません。具体的には、次の場合はロールバックできません。
- アクティブなデプロイのバージョンとロールバック先のバージョンのあいだで、Durable Object クラスのライフサイクル変更(
exportsまたはレガシーのmigrations配列経由)があった場合。 - ロールバック先のデプロイが、存在しなくなった R2 バケット、KV 名前空間、または Queue への バインディング を持っている場合。