mcpField
M
managing-github-actions-secrets

managing-github-actions-secrets

github.com/posthog云与 DevOps40.5k138 次安装今天更新
代码仓库

关于 managing-github-actions-secrets

managing-github-actions-secrets 是用于在组织级别管理 GitHub Actions 密钥的 PostHog 专用技能。它指导操作者通过 gh 或 GitHub UI 创建、更新密钥并限制仓库访问范围。

主要功能

  1. 01使用 gh 创建组织级密钥
  2. 02限制为指定仓库访问
  3. 03更新现有密钥的访问权限
  4. 04通过 GitHub UI 管理密钥
  5. 05避免暴露密钥值

适用场景

  1. 01为指定的 PostHog 仓库添加密钥
  2. 02更改组织密钥的仓库访问权限
  3. 03判断 GitHub Actions 密钥应设于何处

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/posthog/posthog --skill managing-github-actions-secrets

安装后在 Claude Code 中输入/managing-github-actions-secrets确认已加载。

详细介绍

为 PostHog 管理 GitHub Actions 密钥

PostHog 将所有 GitHub Actions 密钥集中管理在组织级别, 并授予各个仓库对它们的访问权限。不要将密钥添加到 单个仓库,即使该密钥目前只被一个工作流使用。

规则

  • 始终在 posthog 组织上创建密钥,而不是在仓库上。
  • 通过组织级别的访问控制(选定的仓库)将密钥授予特定仓库。 除非该密钥确实打算在整个组织范围内共享,否则不要默认将其 提供给所有仓库。
  • 永远不要将密钥值粘贴到聊天、PR 描述、提交消息或 文件中。通过管道传入它们,或仅将它们粘贴到 GitHub UI 的密钥字段中。

通过 gh CLI 创建或更新密钥

使用 --org posthog 将密钥值通过管道传入 gh secret set。下面的示例 从 stdin 读取值,因此它永远不会出现在 shell 历史记录中:

# Read from clipboard / a pipe / a file — never inline as an argument
pbpaste | gh secret set POSTHOGOS_PACKAGER_KEY --org posthog

常见变体:

# From a file
gh secret set POSTHOGOS_PACKAGER_KEY --org posthog < secret.txt

# Restrict to selected repositories at creation time
gh secret set POSTHOGOS_PACKAGER_KEY --org posthog \
  --visibility selected --repos PostHog/posthog,PostHog/posthog-foss

# Update which repos can access an existing org secret
gh secret set POSTHOGOS_PACKAGER_KEY --org posthog \
  --visibility selected --repos PostHog/posthog

验证:

gh secret list --org posthog | grep POSTHOGOS_PACKAGER_KEY

通过 GitHub UI 创建或更新密钥

  1. 打开 https://github.com/organizations/PostHog/settings/secrets/actions。
  2. 点击 New organization secret(或点击现有密钥以更新它)。
  3. 设置 Name(SCREAMING_SNAKE_CASE,具有描述性,例如 POSTHOGOS_PACKAGER_KEY)。
  4. 粘贴 Value。
  5. 在 Repository access 下,选择 Selected repositories 并挑选 需要它的确切仓库。避免选择 All repositories,除非该密钥 可以安全地暴露给组织中的每个仓库。
  6. 点击 Add secret / Update secret。

不该做的事

  • 不要在没有 --org posthog 的情况下运行 gh secret set NAME——这会在 gh 当前指向的任何仓库上创建一个仓库级别的密钥。
  • 不要导航到单个仓库的 Settings → Secrets and variables → Actions 来添加密钥。 如果某个应为组织级别的密钥已经存在仓库级别的副本,请迁移它(在组织级别创建, 授予该仓库,然后删除仓库级别的副本)。
  • 不要在命令、日志或文件中回显密钥值。如果某个值 被意外暴露,请立即轮换它。

当用户问“我在哪里添加这个密钥?”

默认答案:在组织级别通过 gh secret set --org posthog 添加,并授予 需要它的特定仓库。只有在用户明确 覆盖此做法时才偏离(例如,针对部署环境的 环境范围密钥,这是一种不同的机制)。

评论

支持 Markdown