教程

Claude Code + GitHub Actions:自动化代码审查与 CI/CD 集成完全指南

Claude Code GitHub Actions 完整配置指南:5 分钟快速安装(GitHub App + API Key Secret + Workflow 文件)、四大使用场景(按需 PR 审查/Issue 自动实现/快速修复/自动 Changelog)、每 PR 自动触发审查配置、高级参数(模型/轮数/工具限制/AWS Bedrock)与安全最佳实践。

2026/3/135分钟 阅读ClaudeEagle

每个 PR 都有人工代码审查,成本高、速度慢。Claude Code GitHub Actions 让 AI 自动完成初步审查、实现 Issue 需求、修复 Bug——全程在 GitHub CI 环境里运行,你只需在 PR 或 Issue 里 @claude 一声。

能做什么?

  • 自动代码审查:每个 PR 自动分析安全漏洞、代码规范、潜在 Bug
  • Issue 转 PR:在 Issue 里 @claude 实现这个功能,Claude 直接提交 PR
  • 自动修复 Bug:在 PR 评论里 @claude 修复这个问题,Claude push commit
  • 执行自定义任务:生成文档、跑测试、更新 Changelog 等

5 分钟快速配置

Step 1:安装 GitHub App

在 Claude Code 终端运行:

bash
claude
/install-github-app

按提示完成:

  1. 安装 GitHub App(需要仓库 Admin 权限)
  2. 授予权限:Contents(读写)、Issues(读写)、Pull Requests(读写)

或手动安装:访问 github.com/apps/claude

Step 2:添加 API Key Secret

在仓库 Settings → Secrets and variables → Actions 里添加:

ANTHROPIC_API_KEY = sk-ant-xxxxx

Step 3:创建 Workflow 文件

在仓库里创建 .github/workflows/claude.yml

yaml
name: Claude Code

on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]
  issues:
    types: [opened, assigned]
  pull_request_review:
    types: [submitted]

jobs:
  claude:
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write
      issues: write
    steps:
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

完成!现在在任何 PR 或 Issue 里 @claude 就能触发。

核心使用场景

场景 1:按需 PR 代码审查

在 PR 评论里:

@claude 请审查这个 PR,重点关注: 1. 安全漏洞(SQL 注入、XSS、认证绕过) 2. 边界条件和错误处理 3. 是否符合 CLAUDE.md 里的代码规范

Claude 会读取 diff,给出详细的逐行评审意见。

场景 2:Issue 自动实现

在 Issue 里:

@claude 请实现这个功能: 用户个人资料页面需要支持头像上传, 最大 2MB,支持 JPG/PNG, 上传后裁剪为 200x200 圆形 实现完成后创建 PR

Claude 会:

  1. 读取当前代码库了解架构
  2. 实现功能(前端上传组件 + 后端处理)
  3. 写测试
  4. 提交代码并创建 PR

场景 3:PR 里快速修复

在 PR 评论里:

@claude 这里的错误处理太简单了, 空值情况没有覆盖, 帮我改进一下

Claude 直接 push 一个 commit 修复。

场景 4:自动生成 Changelog

yaml
- uses: anthropics/claude-code-action@v1
  with:
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
    prompt: |
      根据这个 PR 的改动,更新 CHANGELOG.md。
      格式参考现有条目,放在 [Unreleased] 节下面。

每个 PR 自动审查(无需触发)

如果想每个 PR 都自动触发审查而不需要 @claude,用 Code Review 模式:

yaml
name: Automatic PR Review

on:
  pull_request:
    types: [opened, synchronize]

jobs:
  review:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
    steps:
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          prompt: |
            审查这个 PR。检查:
            - 潜在 Bug 和边界条件
            - 安全问题
            - 性能影响
            - 与现有代码风格的一致性
            
            只报告值得关注的问题,不要挑剔小事。

高级配置

指定模型

yaml
- uses: anthropics/claude-code-action@v1
  with:
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
    claude_args: --model claude-opus-4-6  # 用最强模型做复杂任务

限制对话轮数(控制成本)

yaml
claude_args: --max-turns 10

追加系统提示

yaml
claude_args: --append-system-prompt "只用中文回复,遵循公司内部代码规范"

限制可用工具(安全)

yaml
claude_args: --allowedTools "Read,Write,Bash(git diff:git log:npm test)"

使用 AWS Bedrock(企业用户)

yaml
- uses: anthropics/claude-code-action@v1
  with:
    use_bedrock: true
    claude_args: --model us.anthropic.claude-sonnet-4-5-20251001-v2:0
  env:
    AWS_REGION: us-east-1
    AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
    AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

CLAUDE.md 在 CI 里同样生效

Claude Code GitHub Actions 会读取仓库里的 CLAUDE.md,所以你的项目规范自动应用于 CI:

markdown
# CLAUDE.md(自动被 CI 里的 Claude 读取)

## 代码规范
- 使用 TypeScript strict mode
- 所有公共函数必须有 JSDoc

## 审查重点
- API 端点必须有输入验证
- 数据库查询使用参数化,防 SQL 注入
- 敏感数据不能出现在日志里

安全注意事项

  1. API Key 用 GitHub Secrets 存储,不要硬编码在 workflow 里
  2. Fork PR 触发限制:默认不响应外部 fork 的 PR,防止 API Key 泄露
  3. 权限最小化:workflow 里只给必要的 permissions
  4. 代码在 GitHub Runner 上执行,不经过第三方服务器

常见问题

@claude 没有响应?

  • 检查 GitHub App 是否安装在正确仓库
  • 确认 ANTHROPIC_API_KEY Secret 名称正确
  • 查看 Actions Tab 里的运行日志

Claude 的 commit 没有触发后续 CI?

  • 这是 GitHub 的安全限制,需要用 Personal Access Token 代替 GITHUB_TOKEN
  • 在 workflow 里配置 github_token: ${{ secrets.PAT_TOKEN }}

来源:Claude Code GitHub Actions 文档 | Anthropic 官方

相关文章推荐

教程Claude Code GitHub Actions 集成:自动化 CI/CD 工作流与 PR 代码审查Claude Code GitHub Actions 集成完整指南:PR 自动代码审查工作流、自动生成单元测试、--print 非交互模式配置、GitHub Actions 权限配置、成本控制策略,以及官方 Claude Code Action 使用方法。2026/3/1教程Claude Code GitHub Actions 集成指南:让 AI 自动化你的 CI/CD 流水线Claude Code GitHub Actions 让 AI 融入 GitHub 工作流,支持通过 @claude 提及触发代码审查、自动创建 PR 和修复 Bug。本文涵盖快速安装、手动配置、Beta 到 v1.0 升级指南、实用工作流示例(PR 审查、Issue 自动修复)以及 AWS Bedrock/Google Vertex AI 集成方案。2026/2/27教程Claude Code 程序化调用完全指南:-p 标志、结构化输出、流式响应与会话续接Claude Code 程序化调用完全指南:-p/--print 非交互模式基础用法、三种输出格式(text/json/stream-json)、按 JSON Schema 提取结构化数据(structured_output 字段)、jq 解析响应、流式响应(stream-json + --verbose + --include-partial-messages + jq -rj 过滤 text_delta)、--allowedTools 自动批准工具(权限规则语法/末尾空格注意事项)、自动创建 Commit 示例、--append-system-prompt/--system-prompt 系统提示词、--continue/--resume 会话续接(Session ID 捕获)、GitHub Actions CI/CD 集成,以及 Python/TypeScript Agent SDK 高级用法入口。2026/3/8教程Claude Code 无头模式与 Agent SDK:非交互式脚本、CI/CD 集成完全指南Claude Code 无头模式与 Agent SDK 完全指南:-p 参数基础用法、三种输出格式(text/json/stream-json)、JSON Schema 结构化输出、精细工具权限控制、多轮对话 Session 管理,以及 GitHub Actions PR 安全审查和批量处理的 CI/CD 实战场景。2026/3/2教程Claude Code 权限管理完全指南:精确控制 AI 能执行哪些操作Claude Code 权限系统完整解析:四种权限模式(default/acceptEdits/bypassPermissions/plan)、--allowedTools 和 --disallowedTools 精确工具控制、Bash 命令白名单语法(通配符匹配)、settings.json 持久化权限配置、CLAUDE.md 中的权限规则声明、CI/CD 自动化场景的权限配置、以及如何在效率和安全之间找到平衡点。2026/3/18教程Claude Code Hooks 实战指南:5 大自动化场景、三种 Hook 类型与故障排查Claude Code Hooks 实战指南:/hooks 交互菜单四步创建桌面通知 Hook、5 大常用自动化场景(等待通知/编辑后 Prettier 格式化/退出码 2 阻止受保护文件/PostCompact 重注入上下文/ConfigChange 审计日志)、四种 Hook 类型(command/prompt-based/agent-based/HTTP Webhook)、输入/输出机制(stdin JSON/stdout 注入上下文/退出码 0 继续/2 阻止/非零警告)、结构化 JSON 输出、Matcher 过滤器语法(Edit|Write/Bash(git *)/*/空字符串)、四级存储位置,以及五大故障排查方法和调试技巧。2026/3/8