使用 deploy.sh 和 wrangler CLI 将 Jekyll 站点部署到 Cloudflare Pages。支持本地部署和 GitHub Actions CI/CD。
# 本地部署(需要先安装 wrangler)
bash build.sh && bash deploy.sh
# CI(GitHub Actions)
# 使用 secrets: CLOUDFLARE_ACCOUNT_ID, CLOUDFLARE_API_TOKEN, PAGES_PROJECT_NAME
安装 wrangler:
# 全局安装
npm install -g wrangler
# 或仅当前项目
npm install --save-dev wrangler
登录 Cloudflare:
wrangler login
验证:
wrangler --version
wrangler whoami
本地(.env 文件):
# Pages 项目名称(可选,默认为 blog-gcssloop)
PAGES_PROJECT_NAME=blog-gcssloop
CI(GitHub Actions secrets):
CLOUDFLARE_ACCOUNT_ID - Cloudflare 账户 IDCLOUDFLARE_API_TOKEN - Cloudflare API Token(需包含 Pages Write 权限)PAGES_PROJECT_NAME - Pages 项目名称(可选)| 变量 | 说明 | 默认值 |
|---|---|---|
PAGES_PROJECT_NAME |
Pages 项目名称 | blog-gcssloop |
deploy.sh 执行步骤:
.env 文件(如果存在且变量未设置)_site/ 目录是否存在wrangler 是否安装wrangler pages deploy 部署站点https://<project-name>.pages.dev
例如:https://blog-gcssloop.pages.dev
在 Cloudflare Dashboard 中为 Pages 项目添加自定义域名:
| 问题 | 解决方案 |
|---|---|
wrangler not found |
运行 npm install -g wrangler |
_site/ not found |
先运行 bash build.sh |
Not logged in |
运行 wrangler login |
Permission denied |
检查 API Token 权限,需包含 “Pages Edit” 权限 |
Project not found |
确认项目名称正确,或运行 wrangler pages project create <name> 创建项目 |
# 列出所有 Pages 项目
wrangler pages project list
# 创建新项目
wrangler pages project create <project-name> --production-branch=master
# 查看部署历史
wrangler pages deployment list --project-name=<project-name>
# 查看最新部署详情
wrangler pages deployment detail --project-name=<project-name> --deployment-id=<id>
deploy.sh - 部署脚本.env - 本地配置(gitignore).env.example - 配置模板.github/workflows/deploy.yml - CI/CD 工作流skills/cloudflare-pages-deploy/SKILL.md - 本技能文件.env 文件已加入 gitignore - 不要提交凭证.env.example 作为模板