用途:把任意静态站点部署到 Cloudflare Pages,包括创建项目、上传构建产物、绑定自定义域名、接入 CI/CD 并验证部署结果,框架无关。
前置条件:需安装 wrangler CLI(npm i -g wrangler 后执行 wrangler login 完成浏览器 OAuth),并拥有 Cloudflare 账号、Account ID;CI/CD 需 API Token,添加自定义域名另需 DNS API Token 与 Zone ID。
主要能力与用法:手动部署时先执行构建命令,再运行 wrangler pages deploy <output-dir> --project-name <project-name>,每次部署生成预览 URL,生产分支最新部署即 <project>.pages.dev。创建项目可用脚本 bash scripts/setup-pages-project.sh,或手动 wrangler pages project create <project-name> --production-branch main。添加自定义域名需先设置 CLOUDFLARE_ACCOUNT_ID、CLOUDFLARE_API_TOKEN、CLOUDFLARE_ZONE_ID,可选 CLOUDFLARE_DNS_TOKEN,然后运行 bash scripts/add-custom-domain.sh,脚本会注册域名并创建指向 <project>.pages.dev 的代理 CNAME,两个操作幂等可重复执行。CI/CD 模板见 references/ci-cd-templates.md,GitHub 需配置 CLOUDFLARE_API_TOKEN 与 CLOUDFLARE_ACCOUNT_ID 密钥。回滚方式为查看 wrangler pages deployment list,检出旧提交重新构建部署。验证可运行 bash scripts/verify-deployment.sh,显示部署状态、最近五次部署、域名 SSL 状态及 HTTP 200 检查。
适用场景:静态站点上线、预览环境发布、自定义域名接入与行为验证、CI/CD 流水线搭建。
限制与注意:CNAME 必须指向 <project>.pages.dev 且开启代理(橙色云),否则域名会一直处于 pending、SSL 无法签发;同一站点不建议创建多个项目;不要硬编码账号 ID,应使用环境变量;配置与 DNS 生效可能需要多次迭代调整。