# CI/CD (Sürekli Entegrasyon / Sürekli Teslimat)

Adres: https://softwaredictionary.org/tr/terimler/ci-cd
Kategori: DevOps ve Bulut
Son güncelleme: 2026-09-29

Kısaca: CI/CD, kod değişikliklerini sık sık derleyen, test eden ve yayınlayan otomatik pratikler bütünüdür; yazılım kullanıcılara hızlı ve güvenli biçimde ulaşır.

## CI/CD nedir?

CI/CD, birbiriyle ilişkili iki pratiği bir araya getirir. Sürekli entegrasyon (CI), geliştiricilerin değişikliklerini paylaşılan bir branch'e sık, en az günde bir kez birleştirmesi ve her değişikliğin otomatik olarak bir derleme ve test çalıştırmasını tetiklemesi demektir. Sürekli teslimat (CD) bunu bir adım ileri götürür: testleri geçen her değişiklik otomatik olarak yayına hazırlanır ve her an dağıtılabilir.

İşi, kodla birlikte saklanan bir yapılandırma dosyasında tanımlanan otomatik adımlar dizisi olan bir pipeline (hat) yapar. Tipik bir pipeline bağımlılıkları yükler, linter'ları ve testleri çalıştırır, uygulamayı ya da bir konteyner imajını derler ve bir staging ya da canlı ortama dağıtır. Yaygın araçlar arasında GitHub Actions, GitLab CI/CD, Jenkins, CircleCI ve Azure Pipelines bulunur.

CI/CD'yi her istasyonunda kalite kontrolü olan bir montaj hattı gibi düşünün: her küçük değişiklik otomatik olarak denetlenir ve sorunlar haftalar sonra değil, ortaya çıktıktan dakikalar sonra yakalanır. Bu, sürümleri nadir ve stresli olaylar olmaktan çıkarıp rutin ve düşük riskli hale getirir.

CD kısmının sıkça karıştırılan iki anlamı vardır. Sürekli teslimatta canlıya alınacak son sürümü hâlâ bir kişi onaylar; sürekli dağıtımda (continuous deployment) ise pipeline'ı geçen her değişiklik hiçbir elle müdahale olmadan otomatik olarak yayına girer. Her ikisi de güvenilir bir otomatik test takımına dayanır.

## Önemli noktalar

- CI, paylaşılan kod tabanına birleştirilen her değişikliği otomatik olarak derler ve test eder.
- CD, kodu her zaman yayına hazır tutar ya da otomatik olarak yayınlar.
- Pipeline'lar, kodun yanında saklanan yapılandırma dosyalarında tanımlanır.
- Sürekli teslimatta elle onay adımı vardır; sürekli dağıtımda yoktur.
- CI/CD, DevOps'un temel pratiklerinden biridir.

## Örnek: GitHub Actions'ta basit bir CI pipeline'ı

```yaml
# .github/workflows/ci.yml: run the tests on every push and pull request
name: CI
on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - uses: actions/setup-node@v5
        with:
          node-version: 24
      - run: npm ci
      - run: npm test
```

## Sık sorulan sorular

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

Sürekli teslimatta her değişiklik otomatik olarak test edilir ve yayına hazır hale getirilir, ancak canlıya ne zaman dağıtılacağına bir kişi karar verir. Sürekli dağıtımda ise pipeline'ı geçen her değişiklik otomatik olarak canlıya alınır.

**CI/CD pipeline'ı nedir?**

CI/CD pipeline'ı, kod her değiştiğinde çalışan derleme, test ve dağıtım gibi otomatik adımlar dizisidir. Genellikle kodla aynı repository'de saklanan bir yapılandırma dosyasında tanımlanır.

**CI/CD ile DevOps aynı şey midir?**

Hayır. DevOps, geliştirme ile operasyonu birleştiren daha geniş bir kültürdür; CI/CD ise kodun nasıl test edilip yayınlanacağını otomatikleştiren en önemli pratiklerinden biridir.

## Kaynaklar

- [Martin Fowler: Continuous Integration](https://martinfowler.com/articles/continuousIntegration.html)

---

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