Lobsters | 📄 原文链接 | 2026-07-22 collected

极简 Git CI:用钩子和任务队列实现持续集成

source: mccd.space — 2026-06-29

概述

作者在个人服务器上自建 Git 仓库后,需要一个 CI 系统,但现有的方案要么太重(YAML 配置、容器隔离)要么太慢。解决方案:git post-receive hook + nq(轻量任务队列)。每次推送后 hook 执行 nq 将构建任务后台排队,通过 ssh server nqtail -a 查看日志。极简但足够实用——适合不需要完整容器隔离或密钥管理的个人项目。

核心要点

  • 核心方案:git post-receive hook + nq 任务队列,每次 push 后台执行 CI 任务,不阻塞 git 推送。
  • 查看构建日志:ssh server nqtail -a,简单直接。
  • 关键技巧:hook 脚本中使用 nq 将任务 放入后台队列,否则钩子失败会拒绝推送且阻塞等待。
  • 仓库创建也极简:ssh server git init --bare repo 一行完成。

金句

The CI systems I found are convoluted, yaml-ridden, slow, messy or hard to self-host. Luckily, I do not need many modern CI features like complete isolation.
back to Lobsters