1. 分支隔离提测
每个 issue 绑定分支与预览槽位,主干环境保持稳定,避免相互覆盖。
一个把 Issue → Branch → Preview Env → 测试闭环 固化到技能与脚本中的交付方案。 核心目标是提升交付速度,同时避免“每个分支都全量起服务”的资源浪费。
每个 issue 绑定分支与预览槽位,主干环境保持稳定,避免相互覆盖。
根据变更范围判断 client_only/server_only/full_stack,不变更服务端就不重启服务端。
每次提测都可回溯到 commit、测试结果、环境 URL、验证步骤,且合并始终由工程师人工确认。
git clone https://fun-md.com/Fun_MD/devops-skills.git
cd devops-skills
# Linux / macOS
mkdir -p ~/.codex/skills
cp -r skills/gitea-issue-devops-agent ~/.codex/skills/
# Windows PowerShell
New-Item -ItemType Directory -Force $HOME\.codex\skills | Out-Null
Copy-Item .\skills\gitea-issue-devops-agent $HOME\.codex\skills\gitea-issue-devops-agent -Recurse -Force
repo_url(仓库地址)api_key(具备 issue 读写权限)mode:automatic / semi-automatic / manualreviewers、test_entry、deploy_env、health_endpoint、min_quality_scorepython skills/gitea-issue-devops-agent/scripts/issue_audit.py \
--base-url https://fun-md.com \
--repo FunMD/document-collab \
--token <GITEA_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
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
本仓库已包含示例工作流:.gitea/workflows/issue-branch-preview.yml 与
.gitea/workflows/preview-slot-reclaim.yml,用于完成以下自动化链路:
建议先在测试仓库验证工作流变量后再推广到生产仓库。