GitHub Actions ile CI/CD Süreçleri ve Otomatik Test Görseli

GitHub Actions ile CI/CD Süreçleri ve Otomatik Test

19.10.2026 | 28

Modern Yazılım Geliştirmede CI/CD ve GitHub Actions

Yazılım geliştirmede hız, sürdürülebilirlik ve kod kalitesi artık lüks değil, bir zorunluluktur. Manuel test süreçleri ve elle sunucuya dosya atma devri (FTP ile deployment günleri) çoktan geride kaldı. Bugün, CI/CD (Continuous Integration / Continuous Deployment) süreçleri sayesinde kodunuzu repository'ye gönderdiğiniz anda test edilen, paketlenen ve canlıya alınan bir mekanizma kurabiliyoruz.

Bu yazıda, GitHub'ın yerleşik otomasyon aracı olan GitHub Actions ile sıfırdan nasıl sağlam bir pipeline kurabileceğinizi teknik detaylarıyla inceleyeceğiz.

CI/CD Pipeline Mimarisi Temelleri

Bir CI/CD pipeline'ı temel olarak üç aşamadan oluşur: Tetiklenme (Trigger), İnşa ve Test (Build & Test), ve Dağıtım (Deploy). GitHub Actions bu süreci YAML tabanlı iş akışları (workflows) ile yönetmenize olanak tanır.

GitHub Actions CI CD pipeline architecture workflow diagram Görseli
GitHub Actions CI CD pipeline architecture workflow diagram

Adım Adım GitHub Actions İş Akışı Oluşturma

Projenizde GitHub Actions kullanmaya başlamak için kök dizinde .github/workflows/ adında bir klasör oluşturmanız ve içine bir YAML dosyası eklemeniz gerekir. Örneğin, bir Node.js veya Python projesi için ci-cd.yml dosyası şu yapıda olabilir:

name: CI/CD Pipeline

on:
  push:
    branches: [ 'main' ]
  pull_request:
    branches: [ 'main' ]

jobs:
  build-and-test:
    runs-on: ubuntu-latest
    steps:
      - name: Kodlari Depodan Al
        uses: actions/checkout@v4

      - name: Node.js Ortamini Kur
        uses: actions/setup-node@v4
        with:
          node-version: '20'

      - name: Bagimliliklari Yukle
        run: npm ci

      - name: Testleri Calistir
        run: npm test

Otomatik Testlerin Gücü ve Kritik Uyarılar

Mimari İpucu: Pipeline içerisindeki test adımı başarısız olursa (exit code != 0), GitHub Actions süreci otomatik olarak durdurur. Bu sayede hatalı veya kırık kodların ana dala (main branch) merge edilmesi engellenmiş olur.

Testlerinizi yazarken unit testlerin yanı sıra integration testlerini de bu aşamaya dahil etmeniz, production ortamında karşılaşacağınız sürprizleri minimuma indirecektir.

Sonuç ve En İyi Uygulamalar

GitHub Actions, harici servislerle uğraşmadan doğrudan kodunuzun durduğu yerde otomasyon kurmanıza imkan tanır. Secret (gizli anahtar) yönetimi için GitHub Repository Secrets özelliğini kullanarak API anahtarlarınızı ve veritabanı şifrelerinizi güvenle saklayabilir, pipeline güvenliğinizi en üst düzeyde tutabilirsiniz.

| |