已完成 0 / 4 个层级

Cloudflare Workers & GitHub 生态

通过动手实践,理解 Serverless / 边缘计算 / CI/CD 的核心概念

知识图谱 你要学什么

Cloudflare Workers

边缘计算平台——在离用户最近的 CDN 节点运行代码,毫秒级响应

🖇️

Serverless 架构

无需管理服务器,按调用付费,自动扩缩容的事件驱动架构

🔄

GitHub Actions

GitHub 上的 CI/CD 引擎——自动化构建、测试、部署流程

📄

GitHub Pages

托管静态网站的平台——适合前端项目和文档站点

GitHub 没有叫 "Worker" 的产品

很多人说的 "GitHub Worker" 实际上是指以下两者之一:

特性Cloudflare WorkersGitHub Actions
定位边缘计算 / Serverless 函数CI/CD 自动化流水线
运行位置Cloudflare 全球 300+ 节点GitHub 托管的 Runner
语言JavaScript/TypeScript, Rust, Wasm任何语言(通过 Action 编排)
触发方式HTTP 请求 / 定时任务Push / PR / Issue / 定时
典型用途API 代理、A/B 测试、身份验证自动测试、发布、部署
免费额度每天 10 万次请求Ubuntu Runner 每月 2000 分钟

Level 1 — 认识 ~20 分钟

目标:编写第一个 Cloudflare Worker 和 GitHub Actions 工作流,感受它们的运行机制。

📌 任务 1:模拟一个 Cloudflare Worker

Cloudflare Worker 接收 HTTP 请求并返回响应。下面我们用浏览器模拟这个流程。

编辑器 — 修改下面的代码

输出

点击 "运行代码" 查看结果...
💡 需要提示?点击查看
// 添加 /api/echo 端点的参考代码 else if (url.pathname === "/api/echo") { return new Response( JSON.stringify({ method: method, path: url.pathname }), { headers: { "Content-Type": "application/json" } } ); }

Level 2 — 引导实践 ~25 分钟

目标:理解 GitHub Actions 的工作流 YAML 语法,并编写一个完整的 CI 流水线。

📌 任务 2:编写 GitHub Actions 工作流

GitHub Actions 用 YAML 定义。下面是模板,TODO 部分需要你填写。

YAML 编辑器

验证结果

点击 "验证工作流" 检查你的配置...
💡 需要提示?点击查看参考答案
branches: [main] runs-on: ubuntu-latest uses: actions/checkout@v4 node-version: 20 run: npm ci run: npm test

Level 3 — 独立实现 ~30 分钟

目标:从零设计一个带路由、中间件和缓存功能的 Worker 应用。

📌 任务 3:构建一个简单的 API Gateway Worker

需求描述:

  1. 支持 3 个端点:/api/users(返回列表)、/api/users/:id(单个用户)、/api/health(健康检查)
  2. 添加简单的缓存功能——相同请求 5 秒内直接返回缓存
  3. 添加请求日志中间件——记录每个请求的路径和时间戳

编辑器

输出

点击 "运行代码" 测试你的实现...
💡 需要提示?点击查看结构建议

建议的代码结构:

// 1. 缓存函数 function getCache(key) { const entry = cache[key]; if (!entry) return null; if (Date.now() - entry.timestamp > 5000) { delete cache[key]; return null; } return entry.data; } // 2. 路由函数 function handleRoute(path) { ... }

Level 4 — 进阶挑战 ~30 分钟+

目标:将所学应用到真实场景中,完成一个完整的部署项目。

🚀 实战项目:部署你的第一个真实 Worker

  1. 注册 Cloudflare 账号(免费)
  2. 安装 Wrangler CLI:npm install -g wrangler
  3. 运行 wrangler login && wrangler init my-worker
  4. 修改 worker.js,添加你自己的逻辑
  5. 运行 wrangler deploy 部署到云端
  6. 同时创建一个 GitHub 仓库,配置 Actions 自动部署

🧠 思考题

总结

⚡ Cloudflare Workers

边缘 Serverless 平台,代码在全球 300+ 节点运行,适合 API 代理、身份验证、动态内容生成等低延迟场景。

🔄 GitHub Actions

CI/CD 自动化引擎,通过 YAML 定义流水线,实现代码提交后的自动测试、构建和部署。

📄 GitHub Pages

静态网站托管服务,适合项目文档、个人博客、前端 Demo 展示。

🏗️ Serverless 思维

不管理服务器、按需付费、自动扩缩容。Workers 是 Serverless 的计算形态,Actions 是 Serverless 的运维形态。