在 GitLab CI/CD 流水线中使用 Claude Code——自动化代码审查和质量检查。
设置
1. 配置 CI 变量
在 GitLab 项目的 Settings → CI/CD → Variables 中添加:
ANTHROPIC_API_KEY:你的 Anthropic API 密钥(标记为 Protected 和 Masked)
2. 创建 .gitlab-ci.yml
claude-review:
image: node:20
stage: test
script:
- curl -fsSL https://claude.ai/install.sh | bash
- claude --print "审查当前 MR 的变更,关注安全问题和代码质量" > review.txt
artifacts:
paths:
- review.txt
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
自动评论 MR
claude-mr-comment:
image: node:20
stage: review
script:
- curl -fsSL https://claude.ai/install.sh | bash
- |
claude --print "审查变更并输出结构化评论" | tee review.md
- |
curl --header "PRIVATE-TOKEN: $GITLAB_TOKEN" --data "body=$(cat review.md)" "$CI_API_V4_URL/projects/$CI_PROJECT_ID/merge_requests/$CI_MERGE_REQUEST_IID/notes"
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
自动化部署检查
deploy-check:
image: node:20
stage: deploy
script:
- claude --print "检查部署配置和安全问题"
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
注意事项
- 使用 GitLab 的 Protected Variables 保护 API 密钥
- 为 GitLab API 调用创建专用 Token
- 设置合理的超时时间(Claude 可能需要几分钟)
- 审查 Claude 的建议后再自动合并