本頁面以 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 建立 OIDC 身分識別提供者指南,在您的 AWS 帳戶中建立信任設定:
- 新增 GitHub OIDC 身分識別提供者,提供者 URL 為
https://token.actions.githubusercontent.com,對象為sts.amazonaws.com - 建立由該提供者信任的 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 模型和端點設定