六维教程

静态站点部署入门

托管一个静态网站或前端应用,传统方式要自己租服务器、配 Nginx、申请 HTTPS 证书、接 CDN,环节繁琐。Cloudflare Pages 把这些事打包成一套自动化流程,你只要把代码推到 Git 仓库,构建、部署、分发、证书全部由平台接管。这一篇从它的定位讲起,用 Git 集成完成第一次自动构建部署。

Pages 是什么

Cloudflare Pages 是一个面向静态站点和前端全栈应用的托管平台。它把构建、部署、CDN 分发、HTTPS 证书这四件事打包成一套自动化流程,你只需要把代码推到 Git 仓库,剩下的事平台全部接管。

它的核心能力有四点

能力 说明
Git 自动构建 连接 GitHub 或 GitLab 后,每次推送自动触发构建和部署
全球 CDN 静态资源分发到 Cloudflare 全球节点,访问延迟极低
自动 HTTPS 默认域名和自定义域名都自动签发并续期证书
预览部署 每个分支、每次合并请求都会生成独立的预览地址

Pages 与 Workers 的定位区别

Cloudflare 平台上还有一个叫 Workers 的服务,也跑在边缘网络上,初次接触很容易和 Pages 混淆。两者定位完全不同。

维度 Cloudflare Pages Cloudflare Workers
主要用途 静态站点和前端应用托管 边缘计算函数和 API 服务
部署方式 Git 集成为主,推送即部署 Wrangler 命令行为主,代码即部署
资源模型 静态文件优先,可附加 Functions 函数优先,静态资源靠 Assets 绑定
构建能力 内置 CI,支持框架预设和构建命令 无内置构建,代码直接上线
路由方式 静态文件路由加 Functions 文件路由 完全由代码控制
适用场景 博客、文档站、营销页、前端 SPA API 网关、代理服务、边缘逻辑处理

一句话概括,Pages 适合”有大量静态资源要分发”的场景,Workers 适合”每个请求都要算一下”的场景。但两者不是非此即彼,Pages 内置的 Functions 功能本身就跑在 Workers 运行时上,这部分后面会专门讲。

连接 Git 仓库

Pages 推荐的部署方式是 Git 集成,先在 GitHub 或 GitLab 准备一个仓库。以 GitHub 为例,按以下步骤操作。

  1. 登录 Cloudflare 仪表盘,进入 Workers 和 Pages
  2. 点击 创建 按钮,选择 Pages 标签页
  3. 点击 连接到 Git 按钮
  4. 授权 Cloudflare 访问你的 GitHub 账号
  5. 选择要连接的仓库,点击 开始设置

授权环节可以只授权指定仓库,避免给整个账号开权限。连接完成后会进入构建配置页面,这一篇先用默认配置跑通流程,详细配置下一篇再讲。

框架预设

Pages 内置了常见前端框架的构建预设,能自动识别并填好构建命令和输出目录。常见的预设如下。

框架 构建命令 输出目录
Create React App npm run build build
Vite npm run build dist
Next.js npm run build .next 或静态导出
Vue CLI npm run build dist
Hugo hugo public
Hexo npx hexo generate public
Gatsby npm run build public

如果仓库根目录有框架的标识文件,比如 package.json 里写了 vite 依赖,或者有 config.toml 这种 Hugo 配置,Pages 会自动选中对应预设。识别错了也能手动改,预设只是帮你填默认值,不影响实际构建行为。

需要特别说明的是 Next.js。它默认是 SSR 模式,输出目录 .next 包含服务端逻辑,纯静态部署需要配置 next export 或在 next.config.js 里开启静态导出。如果项目依赖服务端渲染,建议直接用 Pages 的 Next.js 适配器,而不是当纯静态站点处理。

自动构建部署流程

设置完成后点击 保存并部署,第一次构建就会跑起来。整个流程是这样的。

  1. 你向仓库推送代码,或者点一次部署按钮
  2. Pages 拉取仓库代码到构建环境
  3. 按预设或自定义命令安装依赖并执行构建
  4. 把输出目录里的文件上传到 Cloudflare 存储
  5. 在全球 CDN 节点刷新缓存
  6. 为本次部署生成一个唯一的预览地址

构建日志在仪表盘的 部署 详情页能看到,包括依赖安装、构建命令、上传文件数等每一步的输出。如果构建失败,日志会标红报错行,照着修就行。

成功部署后会得到一个生产域名,格式为 https://你的项目名.pages.devpages.dev 是 Cloudflare 给 Pages 项目分配的免费子域名,和 Workers 的 workers.dev 类似。访问这个地址就能看到你的站点。

之后每次往生产分支(默认是 main 或 master)推送代码,都会自动触发一次新的构建部署。部署成功后生产域名会立刻指向新版本,旧的部署记录依然保留,可以随时回滚。

部署预览

预览部署是 Pages 最实用的功能之一。除了生产分支,其他分支的每次推送也会被构建,并生成独立的预览地址。

部署类型 触发条件 访问地址
生产部署 推送到 main 或 master 项目名.pages.dev
预览部署 推送到其他任意分支 随机哈希.项目名.pages.dev
合并请求 在 GitHub 发起 PR 同样生成预览地址,并在 PR 里评论

预览地址是独立的,每次部署都有不同的哈希前缀,可以发给同事或客户预览而不影响线上版本。合并请求的预览地址会自动评论到 PR 里,评审人点开就能看到效果。

预览部署和生产部署走的是同一套构建配置,所以预览通过就基本等于生产没问题。这个流程对团队协作特别有用,前端改完推到功能分支,后端或设计在预览地址上验收,确认无误再合并到主分支自动上线。

到这里你已经能用 Git 集成跑通一个静态站点的完整部署流程。下一篇讲构建配置的细节,包括构建命令、环境变量、Node 版本控制,以及不依赖 Git 的直接上传部署方式。

下一篇 构建配置与预览部署

上一篇
接入外部数据库实战
下一篇
构建配置与预览部署