本页基于 GitHub Actions 设置。它假设您已经了解工作流文件和
anthropics/claude-code-action 步骤,仅涵盖云提供商所做的更改。选择您的提供商
Claude Code GitHub Action 支持三个提供商,下面的设置步骤仅在云端配置上有所不同。使用您的组织已经拥有 Claude 模型访问权限的提供商。您通过在anthropics/claude-code-action 步骤的 with: 块中的一个输入来告诉 Claude Code GitHub Action 使用哪个提供商:
- Amazon Bedrock:
use_bedrock: "true" - Google Cloud 的 Agent Platform:
use_vertex: "true" - Microsoft Foundry:
use_foundry: "true"
前置条件
在开始之前,您需要:- 对运行 Claude Code GitHub Action 的存储库的管理员访问权限,以安装 GitHub App 并添加密钥
- 在您的云账户中创建身份资源的权限:AWS 上的 IAM 角色和 OIDC 身份提供商、Google Cloud 上的 Workload Identity Federation 资源和服务账户,或 Azure 上的 Microsoft Entra 应用程序
- 在您的提供商上拥有 Claude 模型访问权限:
- Amazon Bedrock: 获得对 Claude 模型的访问权限。跨区域推理配置文件,例如本页示例中的
us.模型 ID,需要在其区域组的每个区域中获得访问权限。请参阅 Amazon Bedrock 上的 Claude Code - Google Cloud 的 Agent Platform: 一个启用了 Agent Platform API 的项目以及对 Claude 模型的访问权限。请参阅 Google Cloud 的 Agent Platform 上的 Claude Code
- Microsoft Foundry: 一个具有 Claude 模型部署的 Foundry 资源。请参阅 Microsoft Foundry 上的 Claude Code
- Amazon Bedrock: 获得对 Claude 模型的访问权限。跨区域推理配置文件,例如本页示例中的
设置集成
除了前置条件外,您需要为 Claude Code GitHub Action 创建 GitHub 身份、云端信任配置、存储库密钥和工作流文件。下面的步骤将逐一介绍每一项。1
选择 GitHub 身份
Claude Code GitHub Action 通过 GitHub 身份推送提交和发布评论。快速设置 为此安装了官方 Claude GitHub App。使用云提供商时,您可以自己选择身份:
- 官方 Claude GitHub App: 在存储库上安装它,或如果已经安装,请跳到下一步
- 自定义 GitHub App: 当您只想要 Claude Code GitHub Action 使用的三个权限而不是官方应用的完整权限集时,创建您自己的应用
- GitHub 的自动
GITHUB_TOKEN: 无需创建或安装应用,但 GitHub 不会在使用它进行的提交上触发您的 CI 工作流
- Contents: 读和写
- Issues: 读和写
- Pull requests: 读和写
.pem 文件,从应用的设置页面记下应用 ID,并在运行 Claude Code GitHub Action 的存储库上安装应用。您将在第三步中将密钥和 ID 添加为密钥。2
配置云身份验证
配置您的云以信任 GitHub 向工作流颁发的 OIDC 令牌,以便每个工作流运行都获得短期的云凭证。每个选项卡中的项目总结了要创建的内容,每个选项卡都链接到云供应商自己的控制台级步骤指南。
- Amazon Bedrock
- Google Cloud 的 Agent Platform
- Microsoft Foundry
在您的 AWS 账户中创建信任配置,遵循 AWS 创建 OIDC 身份提供商指南:
- 添加一个 GitHub OIDC 身份提供商,提供商 URL 为
https://token.actions.githubusercontent.com,受众为sts.amazonaws.com - 创建一个由该提供商作为 Web 身份信任的 IAM 角色,并附加来自 IAM 配置 的作用域调用策略,该策略授予
bedrock:InvokeModel、bedrock:InvokeModelWithResponseStream、bedrock:ListInferenceProfiles和bedrock:GetInferenceProfile,以及两个aws-marketplace订阅操作 - 使用主题条件(例如
repo:your-org/your-repo:*)将角色的信任策略限制在您的存储库。有关声明格式,请参阅 GitHub 的 OIDC 加固指南
3
添加存储库密钥
在运行 Claude Code GitHub Action 的存储库中,为您的提供商添加密钥,如果您在第一步中创建了自定义 GitHub App,还要添加两个应用密钥。请参阅 GitHub 的 在 GitHub Actions 中使用密钥指南。
4
创建工作流文件
为您的提供商创建一个工作流文件,例如 对于任何提供商,您可以通过将
.github/workflows/claude.yml。每个示例都响应 @claude 提及,使用自定义应用向 GitHub 进行身份验证,并包含 id-token: write 权限,GitHub 需要此权限来颁发 OIDC 令牌,您的云提供商可以用它来交换凭证。如果您在第一步中选择了不同的 GitHub 身份,请调整示例:- 官方 Claude GitHub App: 删除生成 GitHub App 令牌步骤和
github_token行 - GitHub 的自动令牌: 删除令牌生成步骤,并将
github_token行更改为github_token: ${{ secrets.GITHUB_TOKEN }}
- Amazon Bedrock
- Google Cloud 的 Agent Platform
- Microsoft Foundry
将
aws-region 值替换为您自己的值。凭证步骤将其导出为 AWS_REGION 供作业的其余部分使用。--max-turns 添加到 claude_args 来限制运行长度和成本。请参阅 管理成本。5
测试设置
在问题或 PR 评论中提及
@claude,然后在存储库的 Actions 选项卡中观看运行。Claude 在同一问题或 PR 上的评论中回复。故障排除
失败的运行通常在以下两个地方之一中断:- 身份验证错误: 通常是 OIDC 配置错误。检查工作流是否包含
id-token: write权限,信任配置的存储库条件是否与您的存储库完全匹配,以及工作流中的密钥名称是否与您添加的名称匹配 - 触发和 CI 问题: 这些的行为与 Claude Code GitHub Action 调用 Claude API 时相同。请参阅主页的故障排除部分和 Claude Code GitHub Action 的 FAQ
接下来
- Claude Code GitHub Actions 获取示例、参数和最佳实践
- Amazon Bedrock 上的 Claude Code 获取 Bedrock 模型 ID 和区域
- Google Cloud 的 Agent Platform 上的 Claude Code 获取 Agent Platform 模型 ID 和区域
- Microsoft Foundry 上的 Claude Code 获取 Foundry 模型和端点配置