给博客发布配置长期 GitHub Token

2026-07-05

今天把博客发布链路里最后一个麻烦点处理掉了:GitHub 推送授权。

之前每次发布时,如果本机 GitHub 登录状态失效,就需要重新授权或者反复粘贴 token。这样不够顺手,也容易打断写作。

这次改成了更稳定的方式:把长期 GitHub Token 保存到 macOS 钥匙串里,然后让 Git 在推送博客时自动从钥匙串读取。

为什么要这样做

博客发布流程本来已经自动化了:

  • 整理文章
  • 处理图片
  • 运行 Hugo 构建检查
  • 提交到 Git
  • 推送到 GitHub
  • 触发 Cloudflare Pages 部署

但如果 GitHub token 失效,最后一步推送就会卡住。

所以这里补上的不是新功能,而是让自动发布流程更稳定。

安全原则

这次没有把 token 写进文章、脚本正文或 Git 仓库。

正确做法是:

  • token 只保存到本机 macOS 钥匙串
  • Git 推送时临时读取
  • 仓库里只保存读取逻辑,不保存 token 本身
  • token 权限尽量只给博客仓库
  • token 只需要能读写仓库内容

这样即使博客仓库公开,也不会泄露真正的 token。

现在的效果

以后我写完文章,仍然只需要双击发布。

发布脚本会继续完成构建、提交和推送。GitHub 需要身份验证时,会从本机钥匙串读取授权信息,不再让我每次手动粘贴。

这让博客更接近我想要的状态:

只管写 -> 双击发布 -> 自动上线

后续提醒

长期 token 不是永远不用管。

以后如果 GitHub 提示 token 过期、被撤销,或者我主动换 token,只需要重新生成一个 token,再保存到本机钥匙串即可。

这一步完成后,博客发布系统就更完整了。