Junior
Sürekli dağıtım nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Sürekli Dağıtım (Continuous Deployment), her kod değişikliğinin otomatik CI/CD hattındaki tüm aşamaları (derleme, test) geçtiği durumda, insan müdahalesi olmadan otomatik olarak üretim ortamına dağıtıldığı bir yazılım teslim stratejisidir.
Sürekli Teslimat (Continuous Delivery) ile temel farklar:
- Sürekli Teslimat: Değişiklikler üretime dağıtıma hazırdır, ancak dağıtım süreci açık bir tetikleyici gerektirir (genellikle manuel).
- Sürekli Dağıtım: Tüm testleri geçtikten sonra değişiklikler otomatik olarak üretime dağıtılır.
Avantajlar:
- Fonksiyonların hızlandırılmış sürümü.
- Daha kısa geri bildirim döngüsü.
- Sık ve küçük değişikliklerle riskin azaltılması.
- Üretimde hataların hızlı düzeltilmesi.
Gerekli koşullar:
- Yüksek seviyede otomatik test (birim, entegrasyon, kabul).
- Güvenilir altyapı ve otomatik dağıtım.
- İzleme ve bildirim sistemi.
- Değişiklikleri hızlıca geri alma imkanı.
Sürekli dağıtım ile CI/CD hattındaki adımlar örneği:
- Geliştirici kodu VCS'ye (Git) commit eder.
- Derleme tetiklenir (Jenkins, GitLab CI, GitHub Actions).
- Otomatik testler yapılır (birim, entegrasyon).
- Bir artefakt oluşturulur (Docker imajı, paket).
- Artefakt staging ortamında test aşamasından geçer.
- Tüm testler başarılı olursa, artefakt otomatik olarak üretim ortamına dağıtılır.
- Dağıtımdan sonra kontroller (sağlık kontrolleri, duman testleri) yapılır.
- Üretim, hatalar ve performans açısından izlenir.
Bu, otomatik süreçlere yüksek güven ve olgun bir DevOps kültürü gerektirir.