Workflow
在 GitHub 动作中运行 Claude 代码和 CI/CD 管道
Claude Code在CI/CD的无头模式下运行. 在GitHub Actions中使用它来自动审查PR,分解问题,生成修正,并保持代码质量的规模.
Claude Code的无头模式(-p旗)让它在没有人类互动的情况下运行,这使得它非常适合CI/CD管道. 可以实现代码审查自动化,生成失败测试的修补,分门别类的问题,并在每次推时执行代码标准.
无头模式下如何运行 Claude Code?
-p旗运行 Claude代码 完成后立即退出 它读取项目,执行任务,并输出结果. 不需要交互式终端.
# Basic headless usage
claude -p "Review the changes in the last commit and report any issues"
# With output format
claude -p "List all TODO comments in the codebase" --output-format json
# With budget limit
claude -p "Fix the failing tests" --max-budget-usd 1.00你怎么在GitHub行动里建立克洛德代码?
name: AI Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Claude Code
run: npm install -g @anthropic-ai/claude-code
- name: Review PR
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
claude -p "Review the changes in this PR. \
Check for bugs, security issues, and style violations. \
Post your review as a PR comment." \
--max-budget-usd 2.00 \
--dangerously-skip-permissionsClaude Code能实现什么CI/CD任务自动化?
| 任务 | 触发 | Claude代码所做的 |
|---|---|---|
| PR 代码审查 | 打开请求(_r) | 评论 diff,对发现的问题的评论 |
| 修复失败的测试 | 推 (测试失败后) | 读取测试输出、 修正代码、 推动任务 |
| 问题分类 | 开放的问题 | 阅读问题、添加标签、指定优先级 |
| 更改日志生成 | 发布 | 读取自上次标签后的承诺,生成更改日志 |
| 文件最新情况 | 向主推进 | 根据代码更改更新 API 文件 |
| 安保审计 | 时间表(每周) | 扫描共同的脆弱性,打开问题 |
您如何处理 API 密钥和成本 ?
- +在 GitHub 密语中存储 ANTHROPIC_ API_ KEY( 从未用代码)
- +使用-最大预算-以限制每次运行的支出(例如,每一次公关审查2美元)
- +使用 Sonnet 模型执行成本敏感的任务: Claude -p "..." -- 模态的 sonnet
- +监视您的 Anthropic 仪表板的使用
你怎么用克洛德密码和GitLab CI?
# .gitlab-ci.yml
ai-review:
stage: review
image: node:20
script:
- npm install -g @anthropic-ai/claude-code
- claude -p "Review the MR changes and report issues" --max-budget-usd 2.00 --dangerously-skip-permissions
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"