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í.
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.
git push, automatizovaný server kód stáhne, sestaví (build) a spustí testy.—
Na fázi CI navazuje část CD, která má dvě podoby:
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).
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.
—
—
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í. |
—
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