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

  1. Commit: Vývojář provede commit změn do systému správy verzí (například Git).
  2. Build: Automatická sestava artefaktu (obrázek, balíček atd.).
  3. Test: Spuštění automatických testů (jednotkové, integrační, funkční, zátěžové atd.).
  4. 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