当前位置: 首页 > news >正文

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生成)

5. 点击"Add secret"

身份验证最佳实践

1. ✅ 工作流中始终使用${{ secrets.ANTHROPIC_API_KEY }}${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}

2. ✅ 切勿将API密钥或令牌提交到版本控制

3. ✅ 定期轮换API密钥和令牌

4. ✅ 为组织范围访问使用环境机密

5. ❌ 切勿在拉取请求或问题中分享API密钥或令牌

6. ❌ 避免记录可能包含密钥的工作流变量

http://www.dtcms.com/a/346563.html

相关文章:

  • 服务器常见的漏洞扫描记录参考样例
  • CTFshow Pwn入门 - pwn 19
  • GitLab CI:Auto DevOps 全解析,告别繁琐配置,拥抱自动化未来
  • 网络模型深度解析:CNI、Pod通信与NetworkPolicy
  • Java高级语言特性,注解与反射
  • 肽类药物设计新突破:PepHAR 模型如何用「热点驱动」破解三大核心难题?
  • 百年传承祛湿,循汉方古脉,焕时代生机
  • 旅行足迹App技术架构全解析
  • 【React Native】自定义轮盘(大转盘)组件Wheel
  • Krea Video:Krea AI推出的AI视频生成工具
  • JAVA国际版东郊到家同城按摩服务美容美发私教到店服务系统源码支持Android+IOS+H5
  • 大白话聊一聊,数据结构的基石:数组和链表
  • 【Kubernetes知识点】Pod调度和ConfigMaps
  • Maven快速入门
  • 【python】get_dummies()用法
  • 云原生、容器及数据中心网络相关名词记录
  • 量子计算驱动的Python医疗诊断编程前沿展望(上)
  • 【JVM内存结构系列】一、入门:先搞懂整体框架,再学细节——避免从一开始就混淆概念
  • leetcode 69 x的平方根
  • 【UnityAS】Unity Android Studio 联合开发快速入门:环境配置、AAR 集成与双向调用教程
  • 一个适用于 Word(Mac/Win 通用) 的 VBA 宏:把所有“上角标格式的 0‑9”以及 “Unicode 上角标数字 ⁰‑⁹” 批量删除。
  • 前端安全之XSS和CSRF
  • Mac相册重复照片终结指南:技术流清理方案
  • Bartender 5 Mac 多功能菜单栏管理
  • Android Studio下载gradle文件很慢的捷径之路
  • MySQL深分页的处理方案
  • Java项目:基于SpringBoot和Vue的图书个性化推荐系统(源码+数据库+文档)
  • 小米集团总裁卢伟冰:小米汽车不会参与任何价格战,下半年有望开始盈利
  • WSL Ubuntu数据迁移
  • 把 AI 塞进「电梯按钮」——基于毫米波手势识别的零接触控制面板