概括
最近将博客的框架修改为了AnHeYu-App,所以之前创建并部署在Cloudflare Pages的轻量友链朋友圈就已经没有了用武之地,于是我想删除它,但是发现Cloudflare Pages 一直存在一个 BUG:当某个 Pages 项目的部署存档超过 100 个时,该项目将无法通过网页删除。经过一番研究之后,发现有以下解决办法:
在开始操作之前,你需要准备以下信息和工具:
-
CF_API_TOKEN:Cloudflare Workers 专属 API 令牌 -
CF_ACCOUNT_ID:你的 Cloudflare Workers 的 帐户 ID -
CF_PAGES_PROJECT_NAME:需要清理存档的 Pages 项目名称 -
delete-all-deployments.zip:Cloudflare 官方提供的批量删除工具,基于 Node.js 运行 -
Node.js 环境: 用于运行脚本,安装方法可参考历史文章
操作步骤
下载官方删除工具
访问 Cloudflare 已知问题页面,找到 Delete a project with a high number of deployments 章节

点击链接下载工具:delete-all-deployments.zip

获取CF_API_TOKEN
登陆 Cloudflare 账户并访问 Cloudflare Dash 的API 令牌页,准备创建一个令牌。

如果您的界面是中文以外的语言,请您在页面右上角选择并更改语言为 简体中文。
点击页面中的 创建令牌

划到页面下方,找到 自定义令牌 项的 开始使用 按钮并点击。

令牌名称随意填写,建议填写您能够识别的名称,然后往下看找到 权限 一项,点击 选择项目 ,在列表中找到 Cloudflare Pages 并选择,然后再设置旁边权限为 编辑。点击底部的 继续以显示摘要,然后点击 创建令牌。

复制令牌,保留备用。
获取账户与项目信息
在 Cloudflare 的 Workers 和 Pages 页,的右侧边栏找到 帐户 ID,复制备用。

在当前页面的列表中找到你想删除部署的项目,复制项目名称
配置项目环境变量并运行
回到刚刚的那个终端窗口,依次输入以下命令并回车执行:
$env:CF_API_TOKEN="[您的令牌]"
$env:CF_ACCOUNT_ID="[您的账户ID]"
$env:CF_PAGES_PROJECT_NAME="[您的项目名称]"
npm start
如果您按教程正确执行了以上步骤,则现在程序应该在自动通过 API 删除您指定项目中的部署记录。
注意事项
-
删除后无法恢复:批量删除的存档将无法恢复,请谨慎操作。
-
确保权限正确:API 令牌需配置正确的权限,否则操作可能失败。
-
执行效率:删除大量存档可能需要一定时间,请耐心等待。
-
删除令牌:执行完删除任务后推荐删除令牌,避免令牌泄露引发意外。
通过以上步骤,你应该可以轻松批量清理 Cloudflare Pages 项目的部署存档。如果有其他问题或改进建议,欢迎留言讨论!


