Skip to content

通过 Github Actions 部署 ​

注意

目前只支持 worker 和 pages 的部署。 有问题请通过 Github Issues 反馈,感谢。

worker.dev 域名在中国无法访问,请自定义域名

部署步骤 ​

Fork 仓库并启用 Actions ​

  • 在 GitHub fork 本仓库
  • 打开仓库的 Actions 页面
  • 找到 Deploy Backend 点击 enable workflow 启用 workflow
  • 如果需要前后端分离并直连 Worker, 找到 Deploy Frontend 点击 enable workflow 启用 workflow
  • 如果需要通过 Page Functions 转发后端请求的 Pages 部署, 找到 Deploy Frontend with page function 点击 enable workflow 启用 workflow

配置 Secrets ​

然后在仓库页面 Settings -> Secrets and variables -> Actions -> Repository secrets, 添加以下 secrets:

  • 公共 secrets

    名称说明
    CLOUDFLARE_ACCOUNT_IDCloudflare 账户 ID, 参考文档
    CLOUDFLARE_API_TOKENCloudflare API Token, 参考文档
  • worker 后端 secrets

    名称说明
    BACKEND_TOML后端配置文件,参考此处
    DEBUG_MODE(可选) 是否开启调试模式,配置为 true 开启, 默认 worker 部署日志不会输出到 Github Actions 页面,开启后会输出
    BACKEND_USE_MAIL_WASM_PARSER(可选) 是否使用 wasm 解析邮件,配置为 true 开启, 功能参考 配置 worker 使用 wasm 解析邮件
    USE_WORKER_ASSETS(可选) 部署带有前端资源的 Worker, 配置为 true 开启
  • pages 前端 secrets

    注意

    如果选择部署带有前端资源的 Worker, 则无须配置这些 secrets

    名称说明
    FRONTEND_ENVDeploy Frontend workflow 使用的前端配置文件,请复制 frontend/.env.example 的内容,并参考 前端变量说明 修改
    FRONTEND_NAME你在 Cloudflare Pages 创建的项目名称,可通过 用户界面 或者 命令行 创建
    FRONTEND_BRANCH(可选) pages 部署的分支,可不配置,默认 production
    PAGE_TOML(可选) 仅供 Deploy Frontend with page function workflow 使用。通过 page functions 转发后端请求时需要配置,请复制 pages/wrangler.toml 的内容,并根据实际情况修改 service 字段为你的 worker 后端名称。这个 workflow 会以 Pages 模式构建前端并走同域请求,因此不会读取 FRONTEND_ENV
    TG_FRONTEND_NAME(可选) 你在 Cloudflare Pages 创建的项目名称,同 FRONTEND_NAME,如果需要 Telegram Mini App 功能,请填写

部署 ​

  • 打开仓库的 Actions 页面
  • 找到 Deploy Backend 点击 Run workflow 选择分支手动部署
  • 如果需要前后端分离并直连 Worker, 找到 Deploy Frontend,点击 Run workflow 选择分支手动部署
  • 如果需要通过 Page Functions 转发后端请求的 Pages 部署, 找到 Deploy Frontend with page function,点击 Run workflow 手动部署

自动更新与 Page Functions 转发 ​

如果你既想通过 Upstream Sync 自动更新,又想让 Pages 通过 Page Functions 转发后端请求,请使用 Deploy Frontend with page function workflow,而不是 Deploy Frontend。

  • 先启用 Upstream Sync、Deploy Backend 和 Deploy Frontend with page function
  • 在仓库 Secrets 中配置 PAGE_TOML,内容复制 pages/wrangler.toml
  • 将 PAGE_TOML 里的 service 改成你的 Worker 后端名称
  • 这个 workflow 会执行 pnpm build:pages,前端走同域请求,不读取 FRONTEND_ENV
  • 每次 Upstream Sync 完成后,如果 PAGE_TOML 已配置,Deploy Frontend with page function 会自动部署前端

如何配置自动更新 ​

  1. 打开仓库的 Actions 页面,找到 Upstream Sync,点击 enable workflow 启用 workflow
  2. 如果 Upstream Sync 运行失败,到仓库主页点击 Sync 手动同步即可

基于 MIT 许可发布