CloudFlareのdeploymentを消す
CloudFlareからPagesプロジェクトを消そうとすると、「デプロイが多すぎて消せない」というエラーと共に、「ここのやり方に沿って消してね」と案内されますが、ちょっと何言ってるか分かんないので具体的な流れをメモしておきます
デプロイ数が100を超えるとサイトからは消せないみたい
Known issues - Cloudflare Docs
npmパッケージをインストール
wslでもなんでもいいので、npmがインストール済みのCLIの環境を開きます
(ここではUbuntu24.04で)
npmがない場合はインストールしてください
sudo apt install npm
https://pub-505c82ba1c844ba788b97b1ed9415e75.r2.dev/delete-all-deployments.zip
このURLからダウンロードしたzipファイルを解凍してディレクトリ内に入ります
プロンプトでは以下のようにすればいいかと
|
|
カレントディレクトリの中身は以下のようになるはずです
LICENSE.md README.md index.js package-lock.json package.json
npmパッケージをインストール
|
|
削除実行
デプロイの削除を実行する前に、
- アカウントID
- プロジェクト名
- APIトークン
を指定する必要があります
アカウントID
アカウントIDはCloudFlareのダッシュボードから「コンピューティング(Workers)」の中の「workers & pages」を開き、右側、もしくはページ下部の「アカウントの詳細」欄にあると思います


プロジェクト名
プロジェクト名は同じ「workers & pages」にあるpagesプロジェクトの名前です

APIトークン
APIトークンに関しては、無い場合作る必要があります
先ほど確認したアカウントIDのすぐ下に"「API トークンの管理」というリンクがあるので、クリック
“トークンを作成する"をクリック

スクロールしてカスタムトークンの作成を選択してください

こんな感じで作成して、“概要に進む"をクリック

トークンを作成するをクリックすると以下の画面が出るので、トークンを安全な場所にコピペしておきます
(このページを閉じたら二度とトークンのコードが見れなくなるため)

これでAPIトークンが作成できました
あとは公式の説明通りに実行してください
|
|
実行すると、プロジェクトからデプロイが1つずつ削除されていきます
Error修正
古いバージョンのNode.jsだと以下のエラーがでる
/<任意のディレクトリ>/delete-all-deployments/index.js:76
if(body.result?.length){
^
SyntaxError: Unexpected token '.'
at wrapSafe (internal/modules/cjs/loader.js:915:16)
at Module._compile (internal/modules/cjs/loader.js:963:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
at internal/main/run_main_module.js:17:47
?.が新しい演算子で古いバージョンでは対応しないらしい
Node.jsをアップデートするか、旧式の記法に書き直すことで治ります
body.result?.length → body.result && body.result.length
この程度ならsedで書き換えてしまいましょう
|
|