V modernom vývoji softvéru nie je priestor pre manuálne nasadenia. CI/CD pipeline automatizuje celý proces od commitnutia kódu až po produkciu.
Čo je CI/CD?
- Continuous Integration (CI) - automatické buildovanie a testovanie pri každom commite
- Continuous Delivery (CD) - automatická príprava na nasadenie
- Continuous Deployment - automatické nasadenie do produkcie
Prečo CI/CD?
Rýchlejšie dodávanie
Zmeny sa dostanú k používateľom v priebehu minút, nie dní. To umožňuje rýchlejšiu spätnú väzbu a iteráciu.
Menej chýb
Automatizované testy zachytia chyby skôr, než sa dostanú do produkcie.
Konzistentnosť
Každé nasadenie prebieha rovnakým spôsobom - žiadne "u mňa to funguje".
Základná pipeline
# .github/workflows/deploy.yml
name: Deploy
on:
push:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- run: npm ci
- run: npm test
build:
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npm run build
deploy:
needs: build
runs-on: ubuntu-latest
steps:
- run: ./deploy.sh
Nástroje
- GitHub Actions - integrované priamo v GitHube
- GitLab CI - robustné riešenie pre self-hosted
- Jenkins - open-source klasika
- CircleCI, Travis CI - cloud riešenia
Best practices
- Udržujte pipeline rýchlu - paralelizujte testy
- Fail fast - najrýchlejšie testy prvé
- Immutable artifacts - raz zbuildované, všade nasadené
- Rollback stratégia - vždy mať plán B
Záver
CI/CD nie je luxus - je to nutnosť pre moderné tímy. Začnite s jednoduchou pipeline a postupne ju rozširujte.