# Sürekli Teslimat

Adres: https://softwaredictionary.org/tr/terimler/continuous-delivery
Kategori: DevOps ve Bulut
Son güncelleme: 2026-10-06
İngilizcesi: Continuous Delivery
Okunuşu: kıntinyuıs diliveri

Kısaca: Sürekli teslimat, her değişikliği otomatik bir pipeline ile derleyip test ederek canlıya hazırlayan ve yazılımı her an yayınlanabilir tutan pratiktir.

## Sürekli teslimat (CD) nedir?

CI/CD'deki CD'nin karşılığı olan sürekli teslimat, yazılımı her an canlı ortama çıkarılabilecek durumda tutma pratiğidir. Sürekli entegrasyondan geçen her değişiklik otomatik bir dağıtım hattında (deployment pipeline) ilerlemeye devam eder; böylece yayın yapmak riskli bir proje olmaktan çıkar ve çoğu zaman tek tıkla verilen rutin bir karara dönüşür. Jez Humble ve David Farley bu yaklaşımı 2010'da yayımlanan Continuous Delivery kitaplarında tarif etti.

Bir dağıtım hattı uygulamayı bir kez derler, sonra aynı çıktıyı, örneğin bir konteyner imajını, bir dizi aşamadan geçirir: birim testleri, bir test ya da staging ortamına dağıtım, otomatik kabul testleri ve bazen performans ve güvenlik kontrolleri. Her ortam aynı otomatik yolla oluşturulup dağıtıldığı için canlıya dağıtım, iyice prova edilmiş bir sürecin bir kez daha çalıştırılmasından ibarettir. Bir şeyler ters giderse önceki sürüm de aynı kolaylıkla yeniden dağıtılabilir.

Sürekli dağıtım (continuous deployment) bir adım daha ileri gider ve son insan onayını kaldırır: pipeline'ı geçen her değişiklik otomatik olarak, çoğu zaman günde birçok kez, canlıya çıkar. Bunun için çok güvenilir bir test takımı, iyi bir izleme ve canary dağıtımları, otomatik geri almalar ve feature flag'ler gibi güvenlik ağları gerekir; feature flag'ler, yeni bir özellik hazır olana dek kapalı kalırken kodun canlıya dağıtılmasını sağlar.

Sürekli teslimat ile sürekli dağıtım aynı CD kısaltmasını paylaşır ve kolayca karıştırılır. Fark tek bir adımdır: sürekli teslimatta her değişiklik çıkmaya hazırdır ve canlıya ne zaman gideceğine bir kişi karar verir; sürekli dağıtımda ise kararı pipeline verir. Hazır bir bavul düşünün: sürekli teslimat bavulu hep hazır tutar, siz de istediğiniz an yola çıkarsınız; sürekli dağıtım ise bavul hazırlanır hazırlanmaz yola çıkar.

## Önemli noktalar

- Sürekli teslimat, her değişikliği her an canlıya çıkarılabilir durumda tutar.
- Otomatik bir dağıtım hattı bir kez derler ve aynı çıktıyı her aşamadan geçirir.
- Sürekli teslimatta canlıya çıkışı bir kişi onaylar.
- Sürekli dağıtımda pipeline'ı geçen her değişiklik otomatik olarak yayına girer.
- Feature flag'ler, kodu dağıtmayı bir özelliği kullanıcılara açmaktan ayırır.

## Örnek: GitHub Actions'ta bir dağıtım hattı: önce staging, sonra production

```yaml
on: { push: { branches: [main] } }
jobs:
  staging:
    runs-on: ubuntu-latest
    environment: staging
    steps:
      - uses: actions/checkout@v5
      - run: ./deploy.sh staging
  production:
    needs: staging           # runs only after staging succeeded
    runs-on: ubuntu-latest
    environment: production  # with required reviewers: continuous delivery
    steps:                   # without them: continuous deployment
      - uses: actions/checkout@v5
      - run: ./deploy.sh production
```

## Sık sorulan sorular

**Sürekli teslimat ile sürekli dağıtım arasındaki fark nedir?**

Sürekli teslimatta pipeline'ı geçen her değişiklik canlıya hazırdır, ama ne zaman yayınlanacağını bir kişi seçer. Sürekli dağıtımda elle yapılan bir adım yoktur: geçen her değişiklik otomatik olarak canlıya çıkar.

**Sürekli teslimat için sürekli entegrasyon gerekli mi?**

Evet. Sürekli teslimat CI'ın üzerine kurulur: yalnızca sürekli entegrasyonla birleştirilmiş, derlenmiş ve test edilmiş değişiklikler hattın geri kalanında ilerleyebilir. CI olmadan teslim edilecek güvenilir bir şey yoktur.

**Sürekli dağıtım riskli mi?**

Seyrek ve büyük sürümlerden daha az riskli olabilir, çünkü her dağıtım küçüktür ve kolayca geri alınır. Yine de güçlü otomatik testler, sorunları hızla fark eden bir izleme ve hasarı sınırlayan canary dağıtımları ve feature flag'ler gibi araçlar gerektirir.

## Kaynaklar

- [Continuous Delivery: What is Continuous Delivery?](https://continuousdelivery.com/)
- [DORA: Capabilities: Continuous delivery](https://dora.dev/capabilities/continuous-delivery/)

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
