Claude Code GitHub Actions配置(卡在第一部,验证Claude手机号过不了!!!)(跑不通!!!)
https://github.com/anthropics/claude-code-action/blob/main/docs/setup.md
文章目录
- 手动设置(直接API)(Claude官网验证手机号过不了,采取使用自定义Github应用方案)
- 1. 将Claude GitHub应用安装到您的存储库:[https://github.com/apps/claude](https://github.com/apps/claude)
- 2. 向存储库机密添加身份验证([了解如何在GitHub Actions中使用机密](https://docs.github.com/zh/actions/security-for-github-actions/security-guides/using-secrets-in-github-actions)):
- 3. 将工作流文件从[`examples/claude.yml`](../examples/claude.yml)复制到您的存储库`.github/workflows/`目录
- 使用自定义GitHub应用(跑不通!)
- **何时需要使用自定义GitHub应用**:
- **创建和使用自定义GitHub应用的步骤**:
- 1. **创建新GitHub应用**:
- 2. **生成并下载私钥**:
- 3. **在存储库安装应用**:
- 4. **将应用凭证添加到存储库机密**:
- 5. **更新工作流使用自定义应用**:
- **重要说明**:
- 安全最佳实践
- **⚠️ 重要提示:切勿将API密钥直接提交到存储库!请始终使用GitHub Actions机密。**
- 安全使用Anthropic API密钥的方法:
- 1. 将API密钥添加为存储库机密:
- 2. 在工作流中引用机密:
- **切勿这样做**:
- **应该这样做**:
- 设置GitHub机密
- 1. 进入存储库Settings
- 2. 点击"Secrets and variables" → "Actions"
- 3. 点击"New repository secret"
- 4. 选择以下身份验证方式之一:
- 5. 点击"Add secret"
- 身份验证最佳实践
- 1. ✅ 工作流中始终使用`${{ secrets.ANTHROPIC_API_KEY }}`或`${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}`
- 2. ✅ 切勿将API密钥或令牌提交到版本控制
- 3. ✅ 定期轮换API密钥和令牌
- 4. ✅ 为组织范围访问使用环境机密
- 5. ❌ 切勿在拉取请求或问题中分享API密钥或令牌
- 6. ❌ 避免记录可能包含密钥的工作流变量
手动设置(直接API)(Claude官网验证手机号过不了,采取使用自定义Github应用方案)
要求:您必须是存储库管理员才能完成这些步骤。
1. 将Claude GitHub应用安装到您的存储库:https://github.com/apps/claude
尴尬,验证手机号过不了。。。。
2. 向存储库机密添加身份验证(了解如何在GitHub Actions中使用机密):
- 使用API密钥身份验证的
ANTHROPIC_API_KEY
- 或使用OAuth令牌身份验证的
CLAUDE_CODE_OAUTH_TOKEN
(Pro和Max用户可通过本地运行claude setup-token
生成)
3. 将工作流文件从examples/claude.yml
复制到您的存储库.github/workflows/
目录
使用自定义GitHub应用(跑不通!)
如果您不想安装官方Claude应用,可以创建自己的GitHub应用配合此动作使用。这将完全控制权限和访问。
何时需要使用自定义GitHub应用:
- 您需要比官方应用更严格的权限
- 组织策略禁止安装第三方应用
- 您正在使用AWS Bedrock或Google Vertex AI
创建和使用自定义GitHub应用的步骤:
1. 创建新GitHub应用:
-
访问 https://github.com/settings/apps(个人应用)或组织设置页面
-
点击"New GitHub App"
-
配置应用的最低权限要求:
- 存储库权限:
- Contents: 读写
- Issues: 读写
- Pull requests: 读写
- 账户权限:无需权限
- 存储库权限:
-
设置"此GitHub应用可安装的位置"为您偏好的范围
2. 生成并下载私钥:
- 创建应用后,滚动到"Private keys"部分
- 点击"Generate a private key"
- 下载生成的
.pem
文件(请妥善保管!)
3. 在存储库安装应用:
- 进入应用设置页面
- 点击"Install App"
- 选择需要使用Claude的存储库
4. 将应用凭证添加到存储库机密:
- 进入存储库的 Settings → Secrets and variables → Actions
- 添加以下机密:
APP_ID
:您的GitHub应用ID(在应用设置中查看)APP_PRIVATE_KEY
:下载的.pem
文件内容
5. 更新工作流使用自定义应用:
name: 使用自定义应用的Claude
on:issue_comment:types: [created]# ...其他触发器jobs:claude-response:runs-on: ubuntu-lateststeps:# 从自定义应用生成令牌- name: 生成GitHub应用令牌id: app-tokenuses: actions/create-github-app-token@v1with:app-id: ${{ secrets.APP_ID }}private-key: ${{ secrets.APP_PRIVATE_KEY }}# 使用自定义应用令牌的Claude- uses: anthropics/claude-code-action@betawith:anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}github_token: ${{ steps.app-token.outputs.token }}# ...其他配置
重要说明:
- 自定义应用必须具有Issues、Pull Requests和Contents的读写权限
- 您的应用令牌将严格遵循配置的权限
更多GitHub应用创建信息,请参阅GitHub文档。
安全最佳实践
⚠️ 重要提示:切勿将API密钥直接提交到存储库!请始终使用GitHub Actions机密。
安全使用Anthropic API密钥的方法:
1. 将API密钥添加为存储库机密:
- 进入存储库Settings
- 导航到"Secrets and variables" → “Actions”
- 点击"New repository secret"
- 命名为
ANTHROPIC_API_KEY
- 粘贴您的API密钥作为值
2. 在工作流中引用机密:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
切勿这样做:
# ❌ 错误 - 暴露API密钥
anthropic_api_key: "sk-ant-..."
应该这样做:
# ✅ 正确 - 使用GitHub机密
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
此规则适用于所有敏感值,包括API密钥、访问令牌和凭证。
我们建议尽可能使用短期令牌
设置GitHub机密
1. 进入存储库Settings
2. 点击"Secrets and variables" → “Actions”
3. 点击"New repository secret"
4. 选择以下身份验证方式之一:
- API密钥:名称:
ANTHROPIC_API_KEY
,值:您的Anthropic API密钥(以sk-ant-
开头) - OAuth令牌:名称:
CLAUDE_CODE_OAUTH_TOKEN
,值:您的Claude Code OAuth令牌(Pro和Max用户可通过本地运行claude setup-token
生成)