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. 01gh による組織レベルのシークレット作成
  2. 02選択したリポジトリへのアクセス制限
  3. 03既存シークレットのアクセス権更新
  4. 04GitHub UI でのシークレット管理
  5. 05シークレット値の露出防止

活用シーン

  1. 01選択した PostHog リポジトリへのシークレット追加
  2. 02組織シークレットのリポジトリアクセス変更
  3. 03GitHub 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 シークレットを組織レベルで一元管理し、 個々のリポジトリにそれらへのアクセス権を付与します。たとえそのシークレットを 現在 1 つのワークフローしか利用していなくても、単一のリポジトリにシークレットを 追加しないでください。

ルール

  • シークレットは常にリポジトリではなく posthog 組織に作成します。
  • 組織レベルのアクセス制御(選択したリポジトリ)を通じて、特定のリポジトリに シークレットを付与します。そのシークレットが本当に組織全体で共有されるべきもので ない限り、デフォルトですべてのリポジトリで利用可能にしないでください。
  • シークレットの値をチャット、PR の説明、コミットメッセージ、ファイルに 決して貼り付けないでください。パイプで渡すか、GitHub UI のシークレット欄にのみ 貼り付けてください。

gh CLI でシークレットを作成または更新する

シークレットの値を --org posthog を付けて gh secret set にパイプで渡します。 以下の例では標準入力から値を読み取るため、シェルの履歴に残りません:

# 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 に移動しないでください。組織レベルに すべきものがリポジトリレベルのシークレットとしてすでに存在する場合は、移行して ください(組織で作成し、リポジトリに付与し、その後リポジトリレベルのコピーを 削除します)。
  • コマンド、ログ、ファイルにシークレットの値を echo しないでください。値が 誤って露出した場合は、直ちにローテーションしてください。

ユーザーが「このシークレットはどこに追加すればいい?」と尋ねたとき

デフォルトの答え: gh secret set --org posthog を使って組織レベルで作成し、 それを必要とする特定のリポジトリに付与します。ユーザーが明示的にこれを 上書きしない限り(たとえばデプロイ環境の環境スコープのシークレット。これは 別の仕組みです)、これ以外の方法は取りません。

コメント