CI/CD Nedir?
CI/CD; Sürekli Entegrasyon (Continuous Integration) ve Sürekli Teslim/Dağıtım (Continuous Delivery/Deployment) kavramlarının kısaltmasıdır. Kod değişikliklerinin otomatik olarak test edilip üretime taşındığı modern yazılım geliştirme metodolojisinin temelini oluşturur.
Sürekli Entegrasyon (CI)
Geliştiricilerin günlük olarak yaptıkları kod değişikliklerini ortak bir depoya birleştirdiği ve her birleştirmede otomatik test süreçlerinin tetiklendiği pratiktir. Hataların erken tespiti ve entegrasyon sorunlarının önlenmesi sağlanır.
Sürekli Teslim ve Dağıtım (CD)
Sürekli Teslim (Continuous Delivery) ile kod her zaman üretime hazır tutulur; dağıtım kararı insana bırakılır. Sürekli Dağıtım (Continuous Deployment) ise her onaylı değişikliği otomatik olarak canlı ortama taşır, insan müdahalesini ortadan kaldırır.
MLOps ve AI Projelerinde CI/CD
Makine öğrenmesi projelerinde CI/CD boru hatları yalnızca kodu değil, model ağırlıklarını, veri doğrulama adımlarını ve performans metriklerini de kapsar. Bu sayede model güncellemeleri güvenle ve tekrarlanabilir biçimde üretime alınır.
Popüler CI/CD Araçları
GitHub Actions, GitLab CI/CD, Jenkins, CircleCI ve Azure DevOps en yaygın kullanılan araçlardır. Docker konteynerleriyle birlikte çalışarak ortamdan bağımsız ve tekrarlanabilir dağıtım sağlarlar. Kanarya dağıtımı ve gölge mod gibi stratejiler CI/CD altyapısı üzerine inşa edilir.