Cloudflare Workers 与 GitHub 集成
Cloudflare Workers 是运行在边缘节点的 Serverless 代码。虽然你可以在网页控制台直接写代码,但对于生产环境项目,使用本地开发 + GitHub 托管 + Actions 自动部署才是最佳实践。
Serverless前置条件
- GitHub 账号上有你的 Workers 项目仓库。
- Cloudflare 账号。
- 项目根目录包含
wrangler.toml配置文件。
获取 API Token
为了让 GitHub Action 有权限发布代码到你的 Cloudflare 账号,你需要创建一个 API Token。
- 登录 Cloudflare Dashboard。
- 点击右上角头像 -> My Profile -> API Tokens。
- 点击 Create Token。
- 使用模板 Edit Cloudflare Workers。
- 完成创建,复制这个 Token(只显示一次)。
配置 GitHub Secrets
- 进入你的 GitHub 仓库。
- 点击 Settings -> Secrets and variables -> Actions。
- 点击 New repository secret。
- Name:
CLOUDFLARE_API_TOKEN - Secret: (粘贴刚才复制的 Token)
- Name:
- (可选) 如果需要 Account ID,也可以添加一个
CLOUDFLARE_ACCOUNT_ID。
编写 Workflow 文件
在你的仓库中创建 .github/workflows/deploy.yml:
yaml
name: Deploy Worker
on:
push:
branches:
- main # 监听 main 分支的提交
jobs:
deploy:
runs-on: ubuntu-latest
name: Deploy
steps:
# 1. 拉取代码
- uses: actions/checkout@v4
# 2. 部署到 Cloudflare Workers
- name: Deploy with Wrangler
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
# accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} # 如果 wrangler.toml 里没写 account_id,这里需要指定它是如何工作的?
- 当你在本地开发完成,运行
git push origin main。 - GitHub 检测到 push 事件,启动 Action。
cloudflare/wrangler-action会自动安装最新版的wranglerCLI 工具。- 它会读取你仓库中的
wrangler.toml配置。 - 使用
CLOUDFLARE_API_TOKEN进行鉴权,将最新的代码上传并发布到 Cloudflare 全球网络。
常见 wrangler.toml 配置
确保你的项目里有这个文件,否则 Action 不知道发到哪里。
toml
name = "my-worker-project"
main = "src/index.js" # 入口文件
compatibility_date = "2024-01-01"
# 如果使用了 KV 存储
# [[kv_namespaces]]
# binding = "MY_KV"
# id = "xxxxxxxxxxxx"