Junior
Čo je to kontinuálne nasadzovanie (continuous deployment)?
sobes.tech AI
Odpoveď od AI
Toto je prístup v softvérovom vývoji, pri ktorom sa každá zmena, ktorá prejde automatizovaným pipeline testov a schválenia, automaticky nasadí do produkčného prostredia. Hlavný rozdiel od Continuous Delivery je absencia manuálneho kroku schválenia pred nasadením do produkcie.
Hlavné fázy:
- Commit: Vývojár vykoná commit zmien do systému správy verzií (napríklad Git).
- Build: Automatická zostava artefaktu (obrázok, balík atď.).
- Test: Spustenie automatizovaných testov (jednotkové, integračné, funkčné, záťažové atď.).
- Deploy: Ak všetky testy prejdú úspešne, artefakt sa automaticky nasadí do pracovného prostredia.
Kľúčové komponenty:
- Vysoká úroveň automatizácie.
- Spoľahlivá infraštruktúra.
- Použitie praktík Continuous Integration (CI) a Continuous Delivery (CD).
- Monitoring a logovanie na rýchle odhalenie problémov.
- Možnosť rýchleho rollbacku.
# Príklad časti pipeline v GitLab CI/CD
stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Stavba aplikácie..."
- # Príkazy na build
test_job:
stage: test
script:
- echo "Spúšťanie testov..."
- # Príkazy na testovanie
only:
- main # Spúšťa sa iba pre hlavnú vetvu
deploy_job:
stage: deploy
script:
- echo "Nasadenie do produkcie..."
- # Príkazy na nasadenie
when: on_success # Nasadiť iba ak predchádzajúce fázy uspejú
only:
- main
| Výhody | Nevýhody |
|---|---|
| Rýchle vydanie nových funkcií/opráv | Vysoké požiadavky na kvalitu testov |
| Skrátenie TTM (Time To Market) | Potenciálne riziko nasadenia neželaných zmien |
| Zníženie rizika pri každom nasadení | Zložitosť zavádzania bez zrelých CI/CD procesov |
| Rýchla spätná väzba od používateľov | Nutnosť spoľahlivého monitorovania a možnosti rollbacku |