3
执行模式(自动/半自动/人工)
我们不是“会修 bug 的脚本”,而是一个面向真实研发组织的 DevOps 交付平台: Issue → Branch → Preview Slot → 提测闭环,并且始终保留工程师对最终合并的控制权。
每个 issue 分配独立分支和预览槽位,不再发生“提测相互覆盖”,主干环境用于稳定回归。
根据代码变更范围自动判定部署策略。仅前端改动时不重启服务端,直接复用共享后端。
自动沉淀 commit、测试结果、环境链接、验证步骤。Issue 可关闭、可回溯、可审计。
这是一套用于长期演进的研发基础设施,不是临时脚本集合。
输入 repo_url、api_key、mode,完成连通性校验。
拉取 issue 与图片附件,做质量评分与去重分组。
严格在 issue 指定分支改动,保留变更可追踪性。
change_scope 自动判断 skip/client/server/full_stack。
槽位 TTL + 关闭释放,减少预览环境资源占用。
.gitea/workflows/issue-branch-preview.yml.gitea/workflows/preview-slot-reclaim.yml以下命令会把技能安装到本机 ~/.codex/skills/gitea-issue-devops-agent。
curl -fsSL https://fun-md.com/Fun_MD/devops-skills/raw/branch/main/install/install.sh | bash
curl -fsSL https://fun-md.com/Fun_MD/devops-skills/raw/branch/main/install/install.sh | bash
powershell -NoProfile -ExecutionPolicy Bypass -Command "iwr -useb https://fun-md.com/Fun_MD/devops-skills/raw/branch/main/install/install.ps1 | iex"
抓取 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
输出部署范围建议,决定是否需要服务端重启。
python skills/gitea-issue-devops-agent/scripts/change_scope.py --repo-path . --base-ref origin/main --head-ref HEAD
管理 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