需要删除一个部署在 Cloudflare Pages 上的项目,但总是提示错误,错误信息是
Your project has too many deployments to be deleted, follow this guide to delete them: https://cfl.re/3CXesln。
因为部署太多,导致无法删除,我测试得知,基本超过 100 次部署就会有这个问题。
需要删除过的部署,让数量控制在 100 个之内即可
方法一:直接手动删除
如果部署的次数比 100 多不多少,就手动删除一些,将部署的内容控制在 100 个之内即可删除项目了。
方法二:使用 Cloudflare API 删除部署
先要获取一些基本信息:
Account ID:仪表盘 -> 账户
Project Name:Pages 里这个项目的名称
API Token:个人资料 -> API Token,注意给 Pages 的相关权限
通过终端列出所有的部署
curl -X GET "https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}/deployments" \
-H "Authorization: Bearer {api_token}"
对应找到每个部署的 ID,然后删除(最好不要,能到这里就是因为部署量大,要批量删除)
curl -X DELETE "https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}" \
-H "Authorization: Bearer {api_token}"
用脚本批量删除(推荐,下面脚本只是一个参考)
#!/bin/bash
ACCOUNT_ID="your_account_id"
PROJECT_NAME="your_project_name"
API_TOKEN="your_api_token"
# 获取所有部署 ID
DEPLOYMENTS=$(curl -s -X GET "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/pages/projects/$PROJECT_NAME/deployments" \
-H "Authorization: Bearer $API_TOKEN" | jq -r '.result[].id')
# 遍历并删除每个部署
for DEPLOYMENT_ID in $DEPLOYMENTS; do
echo "Deleting deployment: $DEPLOYMENT_ID"
curl -X DELETE "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/pages/projects/$PROJECT_NAME/deployments/$DEPLOYMENT_ID" \
-H "Authorization: Bearer $API_TOKEN"
sleep 1 # 添加延迟以避免 API 速率限制
done
最后可以通过命令行直接删除项目,也可以去 Cloudflare 的面板去删除项目。
Cloudflare 官方的文档:https://cfl.re/3CXesln
> 可在 Twitter/X 上评论该篇文章或在下面留言(需要有 GitHub 账号)