GitHub Actions ile CI/CD Süreçleri ve Otomatik Test
19.10.2026 | 29
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.

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.