通过 API 批量删除 Cloudflare Pages 部署

如何通过 API 批量删除 Cloudflare Pages 的部署存档

Cloudflare Pages 一直存在一个已知“BUG”,当然也有说法是 Cloudflare 官方有意为之,因为在部署超过100次之后,Cloudflare 认为该项目就不再只是纯粹测试阶段了,而是有具有一定成熟度的项目了,为了保护项目而制定的此规则:

当某个 Pages 项目的部署存档数量超过 100 个时,该项目将无法通过界面删除存档。这篇教程将教你如何通过 Cloudflare API 批量清理 Pages 部署存档。

通过完成本教程的批量清理操作后,你可以顺利手动删除 Pages 项目。

事前准备

在开始操作之前,你需要准备以下信息和工具:

  • CF_API_TOKEN:Cloudflare Workers 专属 API 令牌。
  • CF_ACCOUNT_ID:你的 Cloudflare Workers 的 帐户 ID。
  • CF_PAGES_PROJECT_NAME:需要清理存档的 Pages 项目名称。
  • 设备要求:一台运行 Ubuntu 或 Debian 系统的设备。

操作步骤

获取CF_API_TOKEN

  1. 创建 API 令牌

创建 API 令牌

  1. 使用编辑 Cloudflare Workers模版

使用编辑 Cloudflare Workers模版

  1. 区域资源选择 账户的所有区域 > 你的账户 > 继续以显示摘要

区域资源

  1. 创建令牌

创建令牌

  1. 点击Copy保存CF_API_TOKEN令牌

保存CF_API_TOKEN

获取CF_ACCOUNT_ID

点击复制保存CF_ACCOUNT_ID

保存CF_ACCOUNT_ID

获取CF_PAGES_PROJECT_NAME

手动复制保存CF_PAGES_PROJECT_NAME

保存CF_PAGES_PROJECT_NAME

执行批量删除操作

  • 安装必要依赖

在你的设备上运行以下命令,安装必要组件:

apt update && apt install wget unzip nodejs npm -y

  • 下载并设置删除脚本
  1. 下载 Cloudflare 官方提供的批量删除脚本:

wget https://pub-505c82ba1c844ba788b97b1ed9415e75.r2.dev/delete-all-deployments.zip

  1. 解压并进入脚本目录:

unzip delete-all-deployments.zip && cd delete-all-deployments && npm install

  • 运行删除命令

运行以下命令执行批量删除操作:

命令模板:

CF_API_TOKEN=<你的CF_API_TOKEN> CF_ACCOUNT_ID=<你的CF_ACCOUNT_ID> CF_PAGES_PROJECT_NAME=<你的CF_PAGES_PROJECT_NAME> CF_DELETE_ALIASED_DEPLOYMENTS=true npm start

示例命令:

CF_API_TOKEN=rGlBkcIXH8jdg6gGSh3HtOpdUc_-7mp_1-lk987v CF_ACCOUNT_ID=8f7aebf009e50dc01a7aaf4f0d475e90 CF_PAGES_PROJECT_NAME=patient-flower-8aff CF_DELETE_ALIASED_DEPLOYMENTS=true npm start

注意事项

  • 删除后无法恢复:批量删除的存档将无法恢复,请谨慎操作。
  • 确保权限正确:API 令牌需配置正确的权限,否则操作可能失败。
  • 执行效率:删除大量存档可能需要一定时间,请耐心等待。
  • 删除令牌:执行完删除任务后推荐删除令牌,避免令牌泄露引发意外。

通过以上步骤,你应该可以轻松批量清理 Cloudflare Pages 项目的部署存档。👨🏻‍💻


每粒玉米都是梦想的开始!