跳转到主要内容

0005 · 部署操作教程

可逐步执行的 GitHub Actions 与 Cloudflare 双站部署说明。

英文版本 为准,本文供参考。

状态:基于 main a3c0704b74c2e3daa2235e2bb0fb934d5fb0c2a1 完成本地准备,接续 Fieldnotes 交付 。本次没有 PR、提交或远程配置修改。

评审选择:用户豁免本次需求、方案、执行、验收四项评审;不声明独立评审通过。

需求

把现有部署指南 改为首次操作也能逐步执行的教程,保持英文权威版与中文参考版语义一致。说明账号前提、关键步骤的目的、设置位置与填写值、免费私有仓库的 PR 流程、首次发布、自定义域名切换、成功判断、故障恢复和回滚。区分本地验证与尚未验证的外部设置,交付被忽略的中文验收手册。

本次仅改文档,包括关联协作指南中与套餐相关的强制执行说明;保留应用代码、工作流、依赖版本及生产设置。可读取官方文档与远程 main;账号修改、创建凭据、推送和部署不在本次范围内。

方案与决策

扩展现有指南,复用开发与协作指南中的环境安装及变更流程,不增加部署机制。提供一组明确标注为示例的域名与 Worker 名称,每个阶段说明完成条件。

继续由 GitHub Actions 负责发布。先准备 Cloudflare 账号和 workers.dev 子域名,再由首次 CI 部署创建指定名称的 Worker,检查临时网址后绑定生产域名。消除“首次发布前先创建并绑定已部署 Worker”的循环依赖,并说明构建期网址变量与 Cloudflare 域名路由的区别。

验证相对链接、双语覆盖、空白、隐私及日志站渲染产物。不增加只断言文档措辞的测试。本次不升级依赖。官方界面说明于 2026-09-17 核对,链接放在对应步骤旁。

正文采用保持私有仓库的 GitHub Free 方案,不把 Rulesets 或 GitHub Environments 当作前提;PR 与检查通过后合并仍由维护者遵守,不声明服务端强制拦截。密钥改为说明仓库级存放,并给出启用前所需的准确一行工作流改动;当前 CI 文件仍未修改。此方案不要求购买 Team 或公开仓库。

执行

把简略设置说明改为对应的中英文 11 节教程,覆盖前提条件、本地验证、部署开关与免费方案 PR 流程、账号与 DNS 准备、仓库密钥及变量位置、首次发布、域名切换、线上检查、重试、回滚和 16 类故障。每个设置阶段给出可观察的完成条件,五张表列明名称、填充值与作用。

部署行为说明与现有源码一致:只允许 main 的 push 事件发布;构建期网址放在仓库变量;单独修改开关不触发任务;没有手动触发入口;产物保留 7 天;旧版本重跑会跳过;两次上传可能只完成一站。区分后台域名绑定与构建网址。未修改应用、工作流或依赖文件。免费私有仓库启用前仍须另行通过获批变更移除 jobs.deploy.environment: production;教程明确标出此前置条件,保留 main、检查、并发锁及 SHA 保护。关键步骤解释区分变量与密钥、部署环境与服务器,以及 nameserver 委派与 Worker 域名绑定。

验收与迁移

2026-09-17 使用固定版本 Node.js 26.8.2、pnpm 12.4.1、Go 1.27.1、Hugo Extended 0.166.0 完成本地验证。pnpm install --frozen-lockfile --offline 复用锁定依赖,pnpm tools:hugo 安装校验后的固定版本。初版 pnpm build 通过。免费方案修订后,pnpm build:logspnpm test:output 六项检查均通过,包括生成页面的本地链接;主站源码及此前生成的主站产物保持不变。新增变更记录及部署指南均有两种语言产物。

源码检查覆盖六份已修改公开文档的 22 个相对链接、中英文 shell/YAML 示例与章节编号的一致性、空白及私密路径排除。教程展示的 deploy 任务开头与当前源码仅删除环境引用一行后的结果完全一致;实际 CI 文件仍未修改。Chromium 在 1440 和 390 像素宽度下验证两份指南的 11 个章节、加粗渲染、语言切换、通过“免费”搜索教程及无整页横向溢出;中文五张表在手机宽度下均可查看全部列。截图仅供本地检查,不作为公开证据附件。本地中文验收手册已忽略、未跟踪且在 Hugo 挂载外,公开 HTML 不含其具体路径。

本次仅改文档,未重跑完整应用测试套件或部署 dry run。GitHub 远程规则执行、令牌权限、资源上传、DNS、TLS 及线上页面仍未验证。按上述选择,未运行独立评审。

后续实际启用免费方案时,先把两个 Cloudflare 值添加为仓库密钥,在部署关闭时通过检查及 PR 移除部署任务的环境引用,确认 main 已包含修改后再启用上传。如果替换令牌,先验证新凭据,再撤销旧令牌。重新加回环境引用需要支持的套餐及已配置环境,不是当前免费私有仓库可用的回滚方式。

本次文档变更无需迁移:不改变依赖、配置、源内容结构、应用路由、数据或部署行为。指南另行说明后续实际启用托管时所需的备份、切换及恢复操作。提交后如需撤回文档,走正常 revert PR;移除 worktree 前应保留被忽略的本地验收手册。