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:
- Commit: Tərtibçi dəyişiklikləri versiya nəzarət sisteminə (məsələn, Git) edir.
- Build: Avtomatik olaraq artefaktın (şəkil, paket və s.) qurulması.
- Test: Avtomatlaşdırılmış testlərin keçirilməsi (birlik, inteqrasiya, funksional, yükləmə və s.).
- 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 |