← 返回文章列表
029 — 运维 · #CICD #Actions · 2026-08-16 · 2 MIN READ

用 GitHub Actions 实现 git push 即发布

这个博客的发布流程只有一个动作:git push。剩下的构建、部署、知识库同步全部由 GitHub Actions 完成。

流水线设计

工作流分三步:构建静态站点 → rsync 到服务器 → 触发知识库增量更新。第三步通过 SSH 在服务器上执行一个小脚本,检测变更的 Markdown 文件并更新向量库。

workflow 配置

yaml
name: deploy
on:
  push:
    branches: [main]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm ci && npm run build
      - run: rsync -az dist/ server:/var/www/blog
      - run: ssh server "bash /opt/sync_kb.sh"

注意事项

  • 服务器 IP 和 SSH 私钥放 GitHub Secrets,绝不进仓库
  • rsync 加 --delete 前先空跑一次确认目录写对了
  • 知识库同步失败不应阻塞部署,脚本里做好错误隔离
Comments