İçeriğe geç
Yeni yazı çıkınca e-posta · 4.812 abone 190 rehber · 78 ipucu · 58 komut RSS GitHub LinkedIn İletişim
Ara Ctrl K Bültene katıl
Tüm arşiv · 190 rehber →
Tüm araçlar · 75 üreteç →
Altyapı Otomasyonu

CI/CD nedir? Sürekli tümleştirme ile sürekli dağıtımın farkı

Üç ayrı kavram, boru hattının aşamaları, geri alma stratejileri ve hızın neden kaliteyle ters orantılı olmadığı.

Mustafa Çelik 25 Ağustos 2026 · 5 dk okuma

CI/CD üç ayrı kavramın kısaltılmış hâlidir ve ikinci harfin iki farklı karşılığı vardır. Ayrımı bilmek, bir ekibin gerçekte nerede durduğunu ve bir sonraki adımın ne olduğunu söyler.

Üç kavram

Sürekli tümleştirme (CI), geliştiricilerin değişikliklerini sık sık ortak dala birleştirmesi ve her birleştirmenin otomatik olarak derlenip sınanmasıdır.

Sürekli teslimat (CD), her başarılı derlemenin dağıtılabilir hâle gelmesidir. Üretime çıkış tek bir düğmeye bakar, ama o düğmeye bir insan basar.

Sürekli dağıtım (CD), o düğmenin de kalkmasıdır: sınamalardan geçen her değişiklik otomatik olarak üretime gider.

Çoğu ekip için doğru hedef ikincisidir. Üçüncüsü güçlü bir sınama ağı ve olgun izleme gerektirir; olmadan uygulandığında hız değil kaos üretir.

CI neyi çözer

Ortak dala seyrek birleştiren ekiplerde birleştirme acı verir: haftalarca ayrışan dallar çakışır ve düzeltmesi günler alır.

Sürekli tümleştirmenin fikri bu acıyı küçük ve sık hâle getirmektir. Günde birkaç kez birleştirilen küçük değişikliklerde çakışma küçük kalır.

Otomatik sınama bu yüzden ayrılmaz parçadır: her birleştirmede çalışan sınamalar, bozulmayı dakikalar içinde yakalar. Sınama olmadan yapılan sık birleştirme, yalnızca daha sık bozulmadır.

Boru hattı aşamaları

Tipik bir boru hattı sırayla ilerler ve her aşama bir öncekinin çıktısına dayanır.

Derleme kaynak koddan çalıştırılabilir bir çıktı üretir. Konteyner kullanılıyorsa çıktı bir imajdır.

Sınama birim sınamalarıyla başlar, tümleştirme sınamalarıyla devam eder. Hızlı olanlar önce çalıştırılır — geri bildirim süresi kısaldıkça değeri artar.

Güvenlik denetimi bağımlılıkları bilinen açıklara karşı tarar, sırların koda kaçıp kaçmadığına bakar, imajı denetler. Dockerfile denetleyici ve Compose denetleyici araçları bu aşamanın işini yapar.

Paketleme ve yayımlama çıktıyı bir kayıt defterine gönderir; sürüm burada sabitlenir.

Dağıtım hedef ortama uygular. Genelde önce test, sonra üretim.

Yapıt bir kez üretilir

Kritik bir ilke: aynı yapıt her ortama gider. Test için ayrı, üretim için ayrı derleme yapılmaz.

Aksi hâlde test ettiğiniz şey ile yayımladığınız şey aynı olmaz — ve aradaki fark tam da üretimde ortaya çıkar.

Ortamlar arası farklar yapılandırmayla verilir, yeniden derlemeyle değil. Konteynerlerde bu doğal olarak sağlanır: aynı imaj, farklı ortam değişkenleri.

Sırlar boru hattında durmaz

CI sisteminde duran uzun ömürlü bir bulut anahtarı, depoya erişebilen herkesin eline geçmiş sayılır.

Modern yaklaşım kısa ömürlü kimlik doğrulamadır: iş başladığında imzalı bir belirteç üretilir, bulut sağlayıcısı ona güvenip dakikalar ömürlü erişim verir. Depoda saklanan sır kalmaz.

Ayrıntısı ve güven koşulunun neden depo ve dal içermesi gerektiği boru hattı güvenliği rehberinde.

Dağıtım stratejileri

Yeni sürümü üretime almanın birkaç yolu vardır ve seçim, geri alma hızını belirler.

Kademeli değiştirme, kopyaları azar azar yeniler. Basittir; geri alma da kademelidir.

Mavi-yeşil, iki tam ortam tutar ve trafiği bir anda diğerine çevirir. Geri alma anlıktır ama iki katı kaynak ister.

Kanarya, yeni sürümü önce küçük bir kullanıcı dilimine verir. Sorun ölçülerek yakalanır ve etki dar kalır.

Hangisini seçerseniz seçin, belirleyici olan geri alabilme yeteneğidir. Geri alınamayan bir dağıtım, ne kadar otomatik olursa olsun risklidir.

Veritabanı değişiklikleri geri alınmaz

Kodu geri almak kolaydır; şema değişikliğini geri almak çoğu zaman değildir. Silinen bir sütun geri gelmez.

Bu yüzden şema değişiklikleri geriye uyumlu yapılır: önce yeni sütun eklenir, kod her ikisini de destekleyecek şekilde yayımlanır, veri taşınır, eski sütun ancak sonraki bir sürümde kaldırılır.

Kod ile şemayı aynı anda değiştirmek, geri alma yolunu kapatır. Yedekleme tarafındaki karşılığı veritabanı: dosya kopyalamak yetmez rehberinde.

İzleme olmadan tamamlanmaz

Dağıtım, kod üretime çıktığında bitmez; çalıştığı doğrulandığında biter.

Bu yüzden boru hattının sonu izlemeye bağlanır: hata oranı, gecikme ve iş metrikleri dağıtımdan sonra izlenir. Bozulma görülürse otomatik geri alma tetiklenebilir.

Neyin izleneceği ve alarmın nasıl kurulacağı alarm belirtiye mi nedene mi bakmalı rehberinde.

Kısaca

CI sık ve sınanan birleştirmedir. Sürekli teslimat, her derlemeyi dağıtılabilir tutar; sürekli dağıtım o adımı da otomatikleştirir.

Boru hattının değeri hızından değil, geri bildirim süresini kısaltmasından gelir. Bir hatanın dakikalar içinde yakalandığı bir düzende küçük ve sık dağıtım yapmak, seyrek ve büyük dağıtımdan belirgin biçimde güvenlidir.

Mustafa Çelik

Altyapı ve Operasyon Müdürü, İstanbul. 25 yıldır BT altyapısı, sistem yönetimi ve ağ altyapısıyla uğraşıyor; öğrendiklerini bu blogda üretim ortamında denenmiş rehberlere çeviriyor.

Hakkımda

Bu rehber işinize yaradıysa, sonrakini kaçırmayın.

Yeni yazı yayınlandığında tek e-posta. Takvim yok, dilediğiniz an çıkabilirsiniz.

Bülten sağlayıcısı henüz bağlanmadı. Bağlanana kadar e-posta ile yazabilirsiniz ya da RSS akışını takip edebilirsiniz.