GitHubのOrganization secretsとvariablesは無課金だとほぼ使えない
こんにちは!環境変数大好きMizutani(@sirycity)です。なんかこの、企業秘密感が…
今日はそんな環境変数の仕様についてです。
結論
GitHubのOrganization(組織)内で共通で使えるsecrets(秘匿されてる環境変数)やvariables(秘匿されてない環境変数)は、2023年12月現在無課金だとPrivateリポジトリに適用できません。なので非常に使いにくいです。
RepositoryとOrganization、secretsとvariables
こんな感じのURLを見ると…
https://github.com/【組織名】/【リポジトリ名】/settings/variables/actions
こんな項目があるかと思います。
- Repository secrets
- Organization secrets
- Repository variables
- Organization variables
まずはこいつらについてです。
◯◯◯ secrets
いわゆる環境変数です。一般的な環境変数です。見られちゃまずいからコードには書けないやつです。APIキーとか。
◯◯◯ variables
こっちはGitHubに後からできたやつです。こいつも環境変数なんですがこっちは見られてもいいやつです。例が思いつかん。そうだなーGoogleAnalyticsのIDとかです。
Repository ◯◯◯
そのリポジトリだけに適用される環境変数です。個人アカウントの場合はそもそもこっちしかありません。
Organization ◯◯◯
その組織内にある全てのリポジトリに適用される環境変数です。今回の罠です。
Organizationの環境変数の罠
もう一度確認しましょう。Organiozationは組織の全リポジトリが対象…のはずです。便利そうですね。SlackのAPIキーとか設定しときたいですね。
そして実際に設定しようとすると気付きます。あれ?設定範囲を指定する選択欄があります。
- Public repositories
- Private repositories
- Selected repositories
組織はまあ普通Private repositoriesが多いですよね。じゃあ真ん中を選びたく…なりますが真ん中は無課金だと選べません。以上。
まあね。しょうがないですね。ただし惜しむらくは去年までは無課金でもPrivateを対象にできたことです。そして去年の段階で設定しといたやつは今もPrivateが対象にできているままです。モヤモヤしますね。
対策
課金しましょう。それか全リポジトリに同じ内容設定しましょう。まあ共通の環境変数なんてそんな使わないような気もしますがそれは言ってはいけない。
さいごに
今年もまたクリスマスイブに記事を書いていました(仕事中毒)メリークリスマス。良いお年を。