.env soubory - jak je porovnávat bez security průšvihu
Environment variables řídí chování aplikace napříč prostředími. A rozdíly v .env souborech mezi dev, staging a produkcí - to je klasický zdroj bugů a security problémů.
Co je v .env souborech
- API klíče, database credentials, tokeny
- Environment-specific nastavení (DEBUG mode, feature flags)
- Porty, URL, hostnames
- Secrets co nesmí do Gitu
Security - tohle je důležité
Nikdy:
- Necommituj .env do version control
- Nedávej skutečné secrets do .env.example
- Neposílej .env přes nezabezpečený kanál
Vždycky:
- Používej .env.example jako template (bez hodnot)
- Redaktuj sensitive data před porovnáváním
- Rotuj secrets pokud byly náhodou odhaleny
- Šifruj .env zálohy
Jak porovnávám
- Template vs actual - porovnám .env.example s .env
- Missing variables - co chybí?
- Type checking - správný formát hodnot?
- Dokumentace - seznam proměnných s popisem
Pro porovnání používám PorovnejText, ale vždycky redaktuju secrets - nahradím je placeholdery typu "xxx" nebo "REDACTED".
Environment parity
- Dev by měl mít podobnou strukturu jako prod
- Staging by měl zrcadlit prod settings
- Rozdíly omezit na credentials a URL
- Dokumentovat každý rozdíl
Co používám
- dotenv - loading .env v aplikaci
- env-cmd - spuštění s konkrétním .env
- direnv - automatický load při vstupu do adresáře
- AWS Secrets Manager/HashiCorp Vault - pro produkční secrets
- GitHub Actions secrets - pro CI/CD
Typické rozdíly mezi prostředími
| Proměnná | Dev | Staging | Prod |
|---|---|---|---|
| DATABASE_HOST | localhost | staging-db.com | prod-db.com |
| DEBUG | true | true | false |
| LOG_LEVEL | debug | info | warn |
| API_URL | http://localhost:3000 | https://staging.api.com | https://api.com |
Validace
- Automatické checky v CI/CD - jsou všechny required proměnné?
- Integration testy s každým environment configem
- Smoke testy po deploymentu
- Graceful error handling pro missing variables
Správa .env souborů je kritická pro bezpečnost. Jeden špatně commitnutý secret a máš problém.
Potřebuješ porovnat .env templates? Hoď je do PorovnejText, ale prosím redaktuj secrets!
Vyzkoušejte PorovnejText.cz zdarma
Nejrychlejší český nástroj pro porovnání textů. Vše probíhá ve vašem prohlížeči, žádná registrace není potřeba.
Porovnat texty nyní →Související články
Jak kontroluju config soubory před deployem
Jedna špatná změna v YAML a máte outage. Tady je jak porovnávám konfigurace mezi prostředími.
XML konfiguráky - jak je porovnat bez bolesti hlavy
Praktické tipy na porovnávání XML souborů. Od Spring configu přes Maven POM po .NET app.config - co funguje a na co si dát pozor.
Porovnávání server configů - jak to dělám já
Praktický DevOps návod na porovnávání konfigurací. Od nginx přes Kubernetes po automatizaci v CI/CD.