CI/CD 集成 + 团队规模化适配策略
本文是「Claude 企业级工程实战手册」专栏第 10 篇。完整 GitHub Actions 配置、Compaction 衰退防御三大策略、三种团队规模适配方案。
一、GitHub Actions CI 质量网关
# .github/workflows/claude_gate.yml
name: Claude 代码质量网关
on:
pull_request:
types: [opened, synchronize]
jobs:
code-quality-gate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: 提取变更文件
id: changed
run: echo "files=$(git diff --name-only origin/main...HEAD | tr '\n' ' ')" >> $GITHUB_OUTPUT
- name: Claude Headless 审查
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
npx @anthropic-ai/claude-code --bare -p \
"审查 PR 变更文件:${{ steps.changed.outputs.files }}
检查:并发安全、SQL 注入、API 格式一致性、错误处理完整性。
发现 P0 隐患时在末尾加 CI_GATE_FAILED,否则加 CI_GATE_PASSED。" \
--allowedTools "Read,Glob,Grep" \
--permission-mode dontAsk \
--max-turns 10 \
--output-format text > claude_report.md
- name: 发布 PR 评论
uses: actions/github-script@v7
if: always()
with:
script: |
const fs = require('fs');
const report = fs.readFileSync('claude_report.md', 'utf8');
github.rest.issues.createComment({
...context.repo,
issue_number: context.payload.pull_request.number,
body: `## Claude 自动审查\n\n${report}`
});
- name: 判定结果
run: |
grep -q "CI_GATE_FAILED" claude_report.md && exit 1 || echo "通过"
关键参数:--bare 屏蔽本地配置保证 CI 纯净;--allowedTools "Read,Glob,Grep" 只给只读权限;--max-turns 10 防止无限循环。
二、Compaction 衰退防御
问题
Context 达到 95% 时,Auto-Compaction 触发有损总结,CLAUDE.md 的规则和安全禁忌被稀释遗忘。
防御一:重写 compactPrompt
{
"compactPrompt": "压缩会话历史时,必须完整保留:1)CLAUDE.md 中所有禁忌规则;2)未解决的 TODO;3)安全拦截规范。严禁泛化合并。"
}
防御二:60% 时主动压缩
# Context 达 60% 时主动触发,附加业务锚点
/compact focus on the payment service refactor and security constraints
不要等系统被迫压缩,那时认知已经退化。
防御三:PostToolUse 规则重注入
#!/bin/bash
# .claude/hooks/post_compact_reinject.sh
if [ -f ".claude/context_essentials.txt" ]; then
echo "📌 [规则重注入] 以下核心规则在压缩后仍然有效:"
cat ".claude/context_essentials.txt"
fi
# .claude/context_essentials.txt
【安全禁忌】
- 严禁拼接 SQL 字符串
- 严禁硬编码密钥
- 严禁生产环境未审查的 DDL
【测试要求】
- 所有新功能必须有集成测试
- 覆盖率不低于 90%
三、团队规模化适配
小微团队(2-5 人)
本周就能做完:
☐ 项目根目录创建 CLAUDE.md(技术栈 + 禁忌 + 构建命令)
☐ PostToolUse 自动格式化 Hook
☐ PreToolUse 高危命令拦截 Hook
不需要:CI 集成、专职 AI 工程师、复杂 Skills 体系
中型团队(5-15 人)
新增角色:AI Engineering Lead(兼职,负责维护配置)
两周完成:
☐ CLAUDE.md 按模块拆分到 .claude/rules/
☐ 建立共享 Skills 库(code-review / incident / security)
☐ 接入 GitHub Actions CI 质量网关
☐ 建立 Prompt 版本管理流程
☐ 统一 compactPrompt 配置
大型企业(15 人以上)
新增部门:AI 基础设施工程部门
一到两月完成:
☐ MDM 统一分发 managed-settings.json
☐ 禁止个人直接修改 Claude Code 配置
☐ 集中式 MCP 企业网关(API 审计 + 数据脱敏)
☐ 全链条 Token 成本监控和归因
☐ 接入 Claude Compliance API
☐ 审计日志接入 SIEM
四、失败模式速查
| 症状 | 根本原因 | 解决方案 |
|---|---|---|
| Claude 反复问同样问题 | CLAUDE.md 缺少关键上下文 | /init 重建,补齐构建命令 |
| 代码合并后格式混乱 | 缺少 PostToolUse 格式化 Hook | 添加 post_write_format.sh |
| 长会话后输出质量下降 | Auto-Compaction 丢失规则 | compactPrompt + 60% 主动 /compact |
| Token 成本意外飙升 | 5 分钟 Cache 穿透 | 低频任务停用 Cache |
| 团队成员用法差异大 | 缺乏标准化配置 | settings.json 进 Git |
| 生产高危操作未被拦截 | 只有软性禁止 | PreToolUse 物理拦截 exit 2 |
专栏导航 · Claude 企业级工程实战手册
⬅️ 上一篇:09. Claude Code Agent Skills 升级:从 Slash 命令到带 YAML Frontmatter 的结构化技能包 ➡️ 下一篇:11. Claude API 高级用法:流式输出 / 批处理 / Cache 叠加节省 95% 成本
本专栏共 14 篇,系统覆盖 Claude 模型选型 / Prompt 工程 / Claude Code 工作流 / API 高级用法 / MCP / RAG / AI 安全合规全链路。欢迎收藏:Claude 企业级工程实战手册