
最近「テストを実務で取り入れるには」ということを考えていて、出てきた課題「basic認証はどうやって突破するのか」問題。
例えば、Next.jsなどのプロジェクトであれば、basic認証のID/Passを環境変数で値を持たせればいいじゃんってなったのだけど、jQueryなどのプロジェクトはどうなります?という会話になって。どう管理するのがいいのか調べていた話。
Github Secrets
GitHub Secretsは、パスワードやAPIキーなどの機密情報を安全にGitHub上で管理する仕組み。特に GitHub Actions(CI/CD) で使うときにとても重要。
Secretsは、リポジトリレベル、環境レベル、組織レベルの3つのスコープで管理することができる。
GitHub Secretsの種類と違い
| 種類 | 範囲(スコープ) | 主な用途 | 特徴 |
|---|---|---|---|
| Repository Secret | 特定のリポジトリのみ | そのリポジトリ内の全てのワークフローで使える | 最も一般的。リポジトリ単位で管理 |
| Environment Secret | 特定の「環境(Environment)」ごと | 本番・ステージングなどで異なる値を使いたい時 | 同じリポジトリ内でも環境ごとに切り替え可能 |
| Organization Secret | 組織全体 | 複数リポジトリで共通の秘密情報を共有 | 組織レベルでの統一管理に便利 |
設定
ぽちぽちやればできます。(下記参考にさせていただきました)
参考:https://qiita.com/ak2ie/items/4fbcdf74e7760c49c1af#repository-secret

ymlファイル書き方
下記の通りにymlで設定してあげる。
env:
BASIC_USER: ${{ secrets.BASIC_USER }}
BASIC_PASS: ${{ secrets.BASIC_PASS }}で、テストコードで下記のように使用できる。
const BASIC_USER = process.env.BASIC_USER;
const BASIC_PASS = process.env.BASIC_PASS;これいいなー。
c.sakyou