Sobes.tech
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:

  1. Commit: Vývojár vykoná commit zmien do systému správy verzií (napríklad Git).
  2. Build: Automatická zostava artefaktu (obrázok, balík atď.).
  3. Test: Spustenie automatizovaných testov (jednotkové, integračné, funkčné, záťažové atď.).
  4. 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