Ziel: Lokale Secrets (z.B. GITHUB_TOKEN) repo-lokal verwalten, ohne globale System-Umgebungsvariablen zu setzen, und ohne Secrets zu committen.
In diesem Repo wird .env.local genutzt, um Secrets nur lokal zu halten.
.env.localist per.gitignoreausgeschlossen (soll nicht committed werden)- Die Scripts unter
scripts/laden.env.localin die aktuelle PowerShell-Session
- Lege/editiere
.env.localim Repo-Root:
GITHUB_TOKEN=... # kein Whitespace um '='- Variante A (empfohlen): Kommando direkt mit Env ausführen
.\scripts\run-with-env.ps1 pnpm install
.\scripts\run-with-env.ps1 pnpm dev- Variante B: Env in aktuelles Terminal laden (dot-sourcing)
. .\scripts\load-env.ps1
pnpm dev-
scripts/load-env.ps1- Liest
.env.local(Default) und setztEnv:KEYin der aktuellen Session. - Unterstützt Kommentare/Leerzeilen sowie optionale Anführungszeichen.
- Liest
-
scripts/run-with-env.ps1- Ruft
load-env.ps1auf und führt anschließend dein Kommando aus. - Beispiel:
./scripts/run-with-env.ps1 pnpm check
- Ruft
Diese Lösung ist nur für lokale Development-Workflows gedacht:
- Secrets bleiben lokal (
.env.localwird nicht committed) - GH Pages Builds sollten keine privaten Tokens benötigen (sonst ist der Deploy nicht reproduzierbar)
-
"Usage: ./scripts/run-with-env.ps1 [args...]"
- Du hast kein Kommando übergeben.
-
Variable scheint nicht gesetzt
- Nutze bei Variante B unbedingt dot-sourcing:
. .\scripts\load-env.ps1 - Prüfen:
Get-ChildItem Env:GITHUB_TOKEN
- Nutze bei Variante B unbedingt dot-sourcing:
-
Token aus Versehen geteilt/geleakt
- Token in GitHub rotieren/revoken und einen neuen Token erstellen.
- Dokumentations-Governance:
docs/DOCUMENTATION-RULES-v3.md