Cloudflare Pages Deploy

概述

使用 deploy.shwrangler 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):

环境变量

变量 说明 默认值
PAGES_PROJECT_NAME Pages 项目名称 blog-gcssloop

工作流程

deploy.sh 执行步骤:

  1. 加载 .env 文件(如果存在且变量未设置)
  2. 获取项目名称(从环境变量或默认值)
  3. 验证 _site/ 目录是否存在
  4. 检查 wrangler 是否安装
  5. 运行 wrangler pages deploy 部署站点

部署地址

https://<project-name>.pages.dev

例如:https://blog-gcssloop.pages.dev

自定义域名

在 Cloudflare Dashboard 中为 Pages 项目添加自定义域名:

  1. 访问 https://dash.cloudflare.com -> Pages
  2. 选择对应项目
  3. 进入 “Custom Domains” 标签
  4. 添加域名并验证 DNS 记录

常见问题

问题 解决方案
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 项目

# 列出所有 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>

文件说明

安全说明