Junior
Co je to kontinuální nasazení (continuous deployment)?
sobes.tech AI
Odpověď od AI
Toto je přístup ve vývoji softwaru, kdy každá změna, která prošla automatizovaným pipeline testů a schválení, je automaticky nasazena do výrobního prostředí. Hlavní rozdíl od Continuous Delivery je absence manuálního kroku schválení před nasazením do produkce.
Hlavní fáze:
- Commit: Vývojář provede commit změn do systému správy verzí (například Git).
- Build: Automatická sestava artefaktu (obrázek, balíček atd.).
- Test: Spuštění automatických testů (jednotkové, integrační, funkční, zátěžové atd.).
- Deploy: Pokud všechny testy projdou úspěšně, artefakt je automaticky nasazen do pracovního prostředí.
Klíčové složky:
- Vysoká úroveň automatizace.
- Spolehlivá infrastruktura.
- Použití praktik Continuous Integration (CI) a Continuous Delivery (CD).
- Monitoring a logování pro rychlé odhalení problémů.
- Možnost rychlého rollbacku.
# Příklad části pipeline v GitLab CI/CD
stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Stavba aplikace..."
- # Příkazy pro build
test_job:
stage: test
script:
- echo "Spouštění testů..."
- # Příkazy pro testování
only:
- main # Spouští se pouze pro hlavní větev
deploy_job:
stage: deploy
script:
- echo "Nasazení do produkce..."
- # Příkazy pro nasazení
when: on_success # Nasadit pouze pokud předchozí fáze uspěly
only:
- main
| Výhody | Nevýhody |
|---|---|
| Rychlé vydání nových funkcí/opravy | Vyšší požadavky na kvalitu testů |
| Zkrácení TTM (Time To Market) | Potenciální riziko nasazení nežádoucích změn |
| Snížení rizika při každém nasazení | Složitost zavádění bez zralých CI/CD procesů |
| Rychlá zpětná vazba od uživatelů | Nutnost spolehlivého monitorování a možnosti rollbacku |