极简 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.
like 0
like
dislike 0
sink
back to Lobsters