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

  1. Udržujte pipeline rýchlu - paralelizujte testy
  2. Fail fast - najrýchlejšie testy prvé
  3. Immutable artifacts - raz zbuildované, všade nasadené
  4. 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.