Sobes.tech
Junior

Davamlı yerləşdirmə (continuous deployment) nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Bu, hər bir dəyişiklik avtomatlaşdırılmış test və təsdiqləmə pipeline-dan keçdikdən sonra avtomatik olaraq istehsal mühitinə yerləşdirilən proqram təminatı inkişaf yanaşmasıdır. Əsas fərq Continuous Delivery-dən fərqi, istehsala yerləşdirmədən əvvəl əl ilə təsdiqləmə mərhələsinin olmamasıdır.

Əsas mərhələlər:

  1. Commit: Tərtibçi dəyişiklikləri versiya nəzarət sisteminə (məsələn, Git) edir.
  2. Build: Avtomatik olaraq artefaktın (şəkil, paket və s.) qurulması.
  3. Test: Avtomatlaşdırılmış testlərin keçirilməsi (birlik, inteqrasiya, funksional, yükləmə və s.).
  4. Deploy: Əgər bütün testlər uğurla keçərsə, artefakt avtomatik olaraq iş mühitinə yerləşdirilir.

Əsas komponentlər:

  • Yüksək avtomatlaşdırma səviyyəsi.
  • Etibarlı infrastruktur.
  • Continuous Integration (CI) və Continuous Delivery (CD) praktikasından istifadə.
  • Problemləri tez aşkar etmək üçün monitorinq və qeydiyyat.
  • Tez geri alma imkanı.
# GitLab CI/CD-də pipeline-nin nümunəsi
stages:
  - build
  - test
  - deploy

build_job:
  stage: build
  script:
    - echo "Tətbiqi qururam..."
    - # Quruluş əmrləri

test_job:
  stage: test
  script:
    - echo "Testləri keçirirəm..."
    - # Test əmrləri
  only:
    - main # Yalnız əsas filial üçün

deploy_job:
  stage: deploy
  script:
    - echo "İstehsala yerləşdirmə..."
    - # Yerləşdirmə əmrləri
  when: on_success # Yalnız əvvəlki mərhələlər uğurlu olarsa
  only:
    - main
Üstünlüklər Dezavantajlar
Yeni funksiyaların/dəyişikliklərin sürətli buraxılması Testlərin yüksək keyfiyyət tələbləri
TTM (Time To Market) azaldılması İstənməyən dəyişikliklərin yerləşdirilməsi riski
Hər yerləşdirmədə riskin azaldılması Yetkin olmayan CI/CD prosesləri olmadan tətbiqdə çətinlik
İstifadəçilərdən sürətli geribildirim Etibarlı monitorinq və geri alma imkanları tələb olunur