12. .gitignore a .env (5 min)

Výstup bloku: účastníci vědí, co do repozitáře nepatří, a umí s hesly pracovat bezpečně.

.gitignore (2 min)

Soubor v kořeni repozitáře, který říká Gitu, co ignorovat.

# tajemství
.env

# závislosti a build
node_modules/
vendor/
dist/

# systém a editory
.DS_Store
Thumbs.db
.idea/
.vscode/

.env a .env.example (3 min)

Aplikace čtou hesla a nastavení z proměnných prostředí. Lokálně je máme v souboru .env, který nikdy nepatří do Gitu.

.env (lokální, ignorovaný):

DB_PASSWORD=skutecne-tajne-heslo
DB_ROOT_PASSWORD=jeste-tajnejsi

.env.example (v Gitu, bez skutečných hodnot):

DB_PASSWORD=
DB_ROOT_PASSWORD=

Nový člen týmu udělá:

cp .env.example .env
# doplní hodnoty

Souvislost s Dockerem: compose.yml z bloku o Composu čte ${DB_PASSWORD} právě z .env.

Co když heslo uniklo do Gitu

  1. Heslo okamžitě změnit (rotovat). Smazání souboru v dalším commitu nestačí, zůstává v historii.
  2. Teprve pak případně čistit historii (git filter-repo), to už je pokročilé téma.

Shrnutí školení

Prostředí jako kód (Compose), kód ve verzích (Git), změny přes pull request, tajemství mimo repozitář.