第十二节
GitHub 集成
在 GitHub Actions 中运行 Claude Code,实现自动化工作流
Claude Code 提供官方的 GitHub 集成, 允许 Claude 在 GitHub Actions 中运行。这个集成提供两个主要工作流: Issues 和 Pull Requests 的 @提及支持,以及自动化 PR 审查。
设置集成
要开始使用,在 Claude Code 中运行以下命令:
/install-github-app这个命令会引导你完成设置过程:
安装 Claude Code GitHub App
在 GitHub 上安装 Claude Code 应用
添加 API 密钥
配置你的 API 密钥用于认证
自动生成 Pull Request
包含工作流文件的 PR 会自动创建
合并 PR 后,你会在 .github/workflows 目录中看到工作流文件。
默认 GitHub Actions
在任何 Issue 或 Pull Request 中使用 @claude 提及 Claude。
每当创建 Pull Request 时,Claude 会自动运行审查。
自定义工作流
添加项目设置步骤
在 Claude 运行之前,可以添加步骤来准备环境:
- name: Project Setup
run: |
npm run setup
npm run dev:daemon自定义指令
为 Claude 提供项目设置的上下文信息:
custom_instructions: | 项目已设置完成,所有依赖已安装。 服务器已在 localhost:3000 运行。 如需要,可使用 mcp__playwright 工具 启动浏览器与应用交互。
MCP 服务器配置
配置 MCP 服务器为 Claude 提供额外能力:
mcp_config: |
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest",
"--allowed-origins",
"localhost:3000"
]
}
}
}工具权限管理
重要提示
在 GitHub Actions 中运行 Claude Code 时,必须明确列出所有允许的工具。 与本地开发不同,没有权限快捷方式。
如果使用 MCP 服务器,需要单独列出每个工具:
allowed_tools: "Bash(npm:*),Bash(sqlite3:*),mcp__playwright__browser_snapshot,mcp__playwright__browser_click,..."
Playwright MCP 服务器有很多工具,每个都需要单独列出。这确保了在自动化环境中的安全性。
实战示例:自动化按钮测试
以下是一个真实示例,展示如何使用 GitHub 集成让 Claude 自动测试 UI 功能:
@claude 请验证这两个按钮(Preview 和 Code)是否正常工作。 点击它们应该能在预览面板和代码面板之间切换。
Claude 会创建任务清单,访问应用,测试按钮功能,然后在 Issue 中回复测试结果。 如果按钮工作正常,它会记录发现;如果有问题,它可以直接修复代码。
最佳实践
从默认工作流开始
先使用默认配置,再逐步自定义
提供项目上下文
使用自定义指令说明项目特殊设置
明确工具权限
使用 MCP 服务器时列出每个工具
先测试简单任务
在复杂任务前验证工作流正确性
核心价值:GitHub 集成将 Claude 从开发助手转变为自动化团队成员, 能够在 GitHub 工作流中直接处理任务、审查代码和提供洞察。