Obsah

CI/CD: Automatizace životního cyklu softwaru

CI/CD je zkratka pro Kontinuální integraci (Continuous Integration) a Kontinuální nasazování (Continuous Deployment). Tento proces, často označovaný jako CI/CD pipeline (potrubí), odstraňuje lidskou chybovost při testování a nasazování aplikací.

1. CI: Kontinuální integrace (Continuous Integration)

CI je praxe pravidelného (i několikrát denně) začleňování změn kódu do hlavní větve v repozitáři.

Klíčové kroky v CI:

—

2. CD: Kontinuální doručování a nasazování

Na fázi CI navazuje část CD, která má dvě podoby:

Continuous Delivery (Kontinuální doručování)

Každá verze, která projde testy, je připravena k nasazení. Samotný krok „nasadit na produkci“ však stále vyžaduje manuální schválení člověkem (např. kliknutí na tlačítko).

Continuous Deployment (Kontinuální nasazování)

Nejpokročilejší fáze. Pokud kód projde všemi automatizovanými testy, je automaticky nasazen přímo koncovým uživatelům bez jakéhokoliv lidského zásahu.

—

3. Přínosy CI/CD

—

4. Nástroje pro CI/CD

Existuje mnoho platforem, které se integrují přímo s vaším repozitářem:

Nástroj Charakteristika
GitHub Actions Přímo integrované v GitHubu, využívá YAML konfiguraci.
GitLab CI/CD Považováno za jedno z nejrobustnějších vestavěných řešení.
Jenkins Open-source standard, extrémně flexibilní díky tisícům pluginů.
CircleCI / Travis CI Populární cloudové služby pro rychlé nastavení.

—

5. Praktický příklad (Pipeline v YAML)

Většina moderních CI/CD systémů se konfiguruje pomocí souboru v repozitáři (např. .github/workflows/main.yml):

stages:
  - build
  - test
  - deploy

build_job:
  script: npm install && npm run build

test_job:
  script: npm test

deploy_job:
  script: scp -r dist/* server:/var/www/
  only:
    - main

Související články:

Tagy: it cicd devops automation software-engineering deployment