Blog'a Dön

CI/CD Pipeline Rehberi: Sürekli Entegrasyon ve Dağıtım (2026)

CI/CD nedir, nasıl kurulur? GitHub Actions ve GitLab CI ile test-build-deploy otomasyonu ve sunucuya güvenli dağıtım.

ci/cdgithub actionsgitlabdevopsdeployotomasyon

CI/CD (Continuous Integration / Continuous Deployment — Sürekli Entegrasyon / Sürekli Dağıtım), kod değişikliklerinin otomatik olarak test edilip canlıya alınmasını sağlayan modern bir geliştirme yaklaşımıdır. Manuel deploy hatalarını ortadan kaldırır ve yayın hızını artırır. Bu rehberde CI/CD'nin mantığını ve temel kurulumunu ele alıyoruz.

CI ve CD Nedir?

  • CI (Sürekli Entegrasyon): Her kod değişikliği otomatik olarak derlenir ve test edilir. Hatalar erken yakalanır.
  • CD (Sürekli Dağıtım): Testleri geçen kod, otomatik olarak test veya üretim ortamına aktarılır.

Pipeline Aşamaları

  1. Build: Kod derlenir ve bağımlılıklar kurulur.
  2. Test: Birim ve entegrasyon testleri çalıştırılır.
  3. Deploy: Başarılı build sunucuya aktarılır.

GitHub Actions ile Basit Pipeline

GitHub Actions, deponuza eklediğiniz bir YAML dosyasıyla pipeline tanımlamanızı sağlar. Örnek bir iş akışı, her push'ta bağımlılıkları kurar ve testleri çalıştırır:

name: CI
on: [push]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm install
      - run: npm test

Sunucuya Güvenli Deploy

Deploy aşamasında sunucuya bağlanmak için SSH anahtarlarını secret olarak saklayın; asla kod içine gömmeyin. Deploy adımı genellikle sunucuya bağlanıp yeni kodu çeker, bağımlılıkları kurar ve servisi yeniden başlatır.

İyi Uygulamalar

  • Her deploy öncesi otomatik testler zorunlu olsun.
  • Gizli bilgileri (anahtar, parola) secret olarak yönetin.
  • Hata durumunda geri alma (rollback) planı hazır olsun.
  • Üretime almadan önce bir staging ortamında test edin.

Sonuç

CI/CD, yazılım geliştirmede kaliteyi ve hızı aynı anda artırır. Otomatik test ve dağıtımla, kod değişikliklerini güvenle ve sık sık yayınlayabilirsiniz. Kendi CI/CD altyapınız için root erişimli bir sunucu esneklik sağlar.

İlgili rehberler:

CI/CD ve DevOps iş yükleri için VDS Sunucu paketlerimizi inceleyin.