在 Cloudflare 上删除具有大量部署的项目

概括

今天我准备迁移一个项目,从 Cloudflare Pages 部署的迁移到其他平台上,
这眼瞅这迁移完了,什么存储库都配置好了,环境变量也逐个加上了,最后一步就是删除原本在 Cloudflare Pages 上部署的项目了。

可是我在尝试删除时,先是界面响应了好久,然后直接报错不能删除?
如图:

WTF??
这是什么情况

Your project has too many deployments to be deleted, follow this guide to delete them: https://cfl.re/3CXesln

翻译一下就是:

您的项目有太多的部署需要删除,请按照本指南删除它们:https://cfl.re/3CXesln

好吧,好歹有具体的错误提示,看样子还有指导,接下来本教程教您如何在 Windows 系统下完成这一操作。

Elete All Deployments

这是 Cloudflare 官方的一个应用程序,使用 Node.JS 语言简单编写,我没有在 GitHub 上的 Cloudflare 账户内找到这个程序,您可以从 Cloudflare 文档中打开它的链接并下载。

访问:Cloudflare Pages 文档 - 已知问题

找到 Delete a project with a high number of deployments 标题下的内容,其中的:

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

这就是 Cloudflare 官方的这个应用程序,理解您可能会担忧不明链接,因此我才会在上方写上官方原文链接。

下载并解压即可,建议创建一个文件夹并解压到这个文件夹内。

(文件存档:delete-all-deployments.zip

安装 Node.JS

这是一个 Node.JS 程序,其中还使用 npm 管理包的使用,因此您还需要先安装 Node.JS 和 npm 才能进行下一步。
(npm 是 Node.js 的一部分)

  1. 打开浏览器,访问 Node.JS 官网
  2. 点击主页的 下载 Node.js (LTS) 按钮直接下载即可,
    如果主页没有这些,请进入下载页面选择 预构建安装程序,然后点击下载按钮即可,
    这应该会下载当前最新版本的 Node.js。
  3. 双击打开下载的文件(例如 node-v22.12.0-x64.msi),按提示步骤安装即可,
    安装过程中,npm 会被自动安装,因为它是 Node.js 的一部分。

安装项目依赖

  1. 找到您刚刚下载的 Cloudflare 官方应用程序(可能名称为 delete-all-deployments.zip),把它解压到一个文件夹内。
  2. 进入解压后的项目文件夹,右键,在右键菜单中选择 在终端中打开
  3. 输入命令 npm i 然后回车执行,注意大小写,
    如果没有突兀的红色字体显示信息,那应该就是成功的执行了这条命令。

获取令牌信息

  1. 登陆 Cloudflare 账户并访问 Cloudflare Dash 的API 令牌页,准备创建一个令牌。
    并且如果您的界面是中文以外的语言,请您在页面右上角选择并更改语言为 简体中文
  2. 点击页面中的 创建令牌,然后划到页面下方,找到 自定义令牌 项的 开始使用 按钮并点击。
  3. 令牌名称随意填写,建议填写您能够识别的名称,
    然后往下看找到 权限 一项,点击 选择项目 ,在列表中找到 Cloudflare Pages 并选择,然后再设置旁边权限为 编辑
  4. 再往下看找到 帐户资源 项,选择 所有账户 ,然后点击底部的 继续以显示摘要,然后点击 创建令牌
  5. Copy 复制令牌,保留备用。

获取账户与项目信息

  1. 在 Cloudflare Dash 的 Workers 和 Pages 页,的右侧边栏发现 帐户 ID(小屏设备划到最底部),复制备用。
  2. 在当前页面的列表中找到你想删除部署的项目,每一项中的标题,即那个左边有 Cloudflare Pages 的 Logo 标志的文字,复制它备用,注意可能不小心复制的换行符或空格。

配置项目环境变量

回到刚刚的那个终端窗口,一步一步来,
先输入此命令并回车执行:

1
$env:CF_API_TOKEN="[您在第11步获取的令牌]"

然后是:

1
$env:CF_ACCOUNT_ID="[您在第12步获取的账户ID]"

接下来是:

1
$env:CF_PAGES_PROJECT_NAME="[您在第13步获取的项目名称]"

最后是:

1
$env:CF_DELETE_ALIASED_DEPLOYMENTS="true"

(设置环境变量正常情况不会有返回信息)

执行完成后不用关闭当前的终端窗口,请看下一步。

运行项目

在完成上述操作后,在终端窗口中输入:

1
npm start

并回车执行,如果您按教程做对了以上步骤,则现在程序应该在自动的通过 API 删除您指定的项目中的所有部署记录。

这期间终端窗口可能会提示:

1
2
3
4
5
6
7
8
9
10
PS D:\下载\delete-all-deployments> npm start

> delete-all-deployments@1.0.0 start
> node index.js

Found live production deployment to exclude from deletion: xxx
Listing all deployments, this may take a while...
Skipping production deployment: xxx
Deleted deployment xxx for project xxx
Deleted deployment xxx for project xxx

等待程序执行结束即可,即再次显示命令输入提示。

完成

在完成后,您就可以回到 Cloudflare Pages 项目控制台,顺利的删除项目了。

如果您不再使用此程序和 API 令牌,请记得删除不使用的 API 令牌。

谢谢阅读!


在 Cloudflare 上删除具有大量部署的项目
https://molikaihe.pages.dev/posts/80caf843
作者
墨离
发布于
2024年12月25日
许可协议