把 Issue 变成可追踪、可复用、可规模化的交付流水线

我们不是“会修 bug 的脚本”,而是一个面向真实研发组织的 DevOps 交付平台: Issue → Branch → Preview Slot → 提测闭环,并且始终保留工程师对最终合并的控制权。

3
执行模式(自动/半自动/人工)
5
部署范围策略(skip→full_stack)
1:1
Issue/Branch/Preview Slot 绑定
24h+
可配置 TTL 自动回收

核心价值

分支隔离,主干稳定

每个 issue 分配独立分支和预览槽位,不再发生“提测相互覆盖”,主干环境用于稳定回归。

资源智能节流

根据代码变更范围自动判定部署策略。仅前端改动时不重启服务端,直接复用共享后端。

证据驱动闭环

自动沉淀 commit、测试结果、环境链接、验证步骤。Issue 可关闭、可回溯、可审计。

这是一套用于长期演进的研发基础设施,不是临时脚本集合。

工作流拓扑

1. 引导连接

输入 repo_url、api_key、mode,完成连通性校验。

2. 质量审计

拉取 issue 与图片附件,做质量评分与去重分组。

3. 分支执行

严格在 issue 指定分支改动,保留变更可追踪性。

4. 按范围部署

change_scope 自动判断 skip/client/server/full_stack。

5. 自动回收

槽位 TTL + 关闭释放,减少预览环境资源占用。

一键安装(Windows / macOS / Linux)

以下命令会把技能安装到本机 ~/.codex/skills/gitea-issue-devops-agent

Linux

curl -fsSL https://fun-md.com/Fun_MD/devops-skills/raw/branch/main/install/install.sh | bash

macOS

curl -fsSL https://fun-md.com/Fun_MD/devops-skills/raw/branch/main/install/install.sh | bash

Windows (PowerShell)

powershell -NoProfile -ExecutionPolicy Bypass -Command "iwr -useb https://fun-md.com/Fun_MD/devops-skills/raw/branch/main/install/install.ps1 | iex"

核心工具

issue_audit.py

抓取 issue、评论和图片附件,完成质量评分、去重与回归候选识别。

python skills/gitea-issue-devops-agent/scripts/issue_audit.py --base-url https://fun-md.com --repo FunMD/document-collab --token <TOKEN> --state all --download-attachments --output-dir .tmp/issue-audit

change_scope.py

输出部署范围建议,决定是否需要服务端重启。

python skills/gitea-issue-devops-agent/scripts/change_scope.py --repo-path . --base-ref origin/main --head-ref HEAD

preview_slot_allocator.py

管理 preview 槽位:分配、复用、释放、TTL 回收。

python skills/gitea-issue-devops-agent/scripts/preview_slot_allocator.py --state-file .tmp/preview-slots.json --slots preview-a,preview-b --repo FunMD/document-collab --issue 48 --branch dev --ttl-hours 24 --url-template https://{slot}.qa.example.com --evict-oldest