- Node.js 16+ (检查:
node -v) - npm (检查:
npm -v)
如果你还没有 Cloudflare 账户:
- 访问 https://dash.cloudflare.com/sign-up
- 输入邮箱和密码注册
- 验证邮箱
免费账户即可,Workers 免费额度完全够用。
Wrangler 是 Cloudflare 官方的命令行工具。
# 全局安装
npm install -g wrangler
# 验证安装
wrangler --version预期输出类似: wrangler 3.x.x
wrangler login执行后:
- 终端显示一个链接
- 浏览器自动打开(或手动复制链接打开)
- 点击 "Allow" 授权
- 看到 "Successfully logged in" 表示成功
验证登录状态:
wrangler whoami直接打开: https://github.com/settings/tokens
或者手动导航:
- GitHub 右上角头像 → Settings
- 左侧菜单最下方 → Developer settings
- Personal access tokens → Tokens (classic)
-
点击 "Generate new token" → "Generate new token (classic)"
-
填写信息:
- Note:
cloudflare-scheduler(方便识别用途) - Expiration: 选择过期时间,推荐 90 days 或 No expiration
- Select scopes: 勾选
workflow(在 repo 下面)
- Note:
-
滚动到底部,点击 "Generate token"
-
立即复制 Token! 页面刷新后就看不到了
Token 格式类似: ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
cd ~/.claude/skills/github-scheduler确认文件存在:
ls -la应该看到:
worker.js
wrangler.toml
README.md
DEPLOY_GUIDE.md
wrangler secret put GITHUB_TOKEN执行后:
- 终端提示 "Enter a secret value:"
- 粘贴你的 GitHub Token(粘贴时不会显示字符,这是正常的)
- 按回车
成功输出:
✨ Success! Uploaded secret GITHUB_TOKEN
wrangler deploy首次部署可能会问你是否创建新项目,输入 y 确认。
成功输出类似:
Uploaded github-scheduler (1.23 sec)
Published github-scheduler (0.45 sec)
https://github-scheduler.你的账户.workers.dev
schedule: 30 0 * * *
schedule: 0 12 * * *
记下这个 URL,后面测试要用。
curl https://github-scheduler.你的账户.workers.dev/health预期返回:
{"status":"ok","workflows":["daily-tech-news","beauty-generator"],"timestamp":"..."}测试触发 AI科技财经日报:
curl "https://github-scheduler.你的账户.workers.dev/trigger?workflow=daily-tech-news"成功返回:
{"success":true,"message":"AI科技财经日报 触发成功"}- 打开 https://github.com/lairulan/daily-tech-news/actions
- 应该看到一个新的 workflow run 正在执行或刚完成
wrangler tail这会显示实时的 Worker 执行日志,按 Ctrl+C 退出。
- 访问 https://dash.cloudflare.com
- 左侧菜单 → Workers & Pages
- 点击
github-scheduler - 点击 "Logs" 标签
手动复制终端显示的链接到浏览器打开。
重新登录:
wrangler logout
wrangler loginGitHub Token 权限不足或已过期,重新生成并更新:
wrangler secret put GITHUB_TOKEN
wrangler deploy检查仓库名和 workflow 文件名是否正确。确认 workflow 文件确实存在于 .github/workflows/ 目录。
wrangler delete github-scheduler┌─────────────────────────────────────────────────────────────┐
│ Cloudflare Workers │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ github-scheduler │ │
│ │ │ │
│ │ Cron: 30 0 * * * (UTC) ──→ daily-tech-news │ │
│ │ Cron: 0 12 * * * (UTC) ──→ beauty-generator │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
│
│ workflow_dispatch API
▼
┌─────────────────────────────────────────────────────────────┐
│ GitHub Actions │
│ │
│ lairulan/daily-tech-news → 每天 8:30 北京时间执行 │
│ lairulan/beauty-generator → 每天 20:00 北京时间执行 │
└─────────────────────────────────────────────────────────────┘
# 一键部署流程
cd ~/.claude/skills/github-scheduler
wrangler secret put GITHUB_TOKEN
wrangler deploy
# 测试
curl https://github-scheduler.你的账户.workers.dev/health
curl "https://github-scheduler.你的账户.workers.dev/trigger?workflow=daily-tech-news"
# 查看日志
wrangler tail