“Cuma akşamı deploy yapmayız” şakası modern yazılım ekiplerinde geçerliliğini yitirdi. DORA State of DevOps 2025 raporuna göre elit ekipler günde 970’ten fazla deployment çıkarırken, düşük performanslı ekiplerde bu sayı ayda 1’in altında kalıyor. Forrester 2025 olgun CI/CD uygulayan ekiplerin %46 daha sık deploy ettiğini, üretim hatalarını %34 daha hızlı toparladığını, change failure rate’i %42 daha düşük tuttuğunu gösteriyor. Datadog State of DevSecOps 2025 verisi security scan entegre eden ekiplerin kritik CVE’leri %71 daha hızlı kapattığını ortaya koyuyor. Stack Overflow Developer Survey 2025’e göre profesyonel geliştiricilerin %54.8’i GitHub Actions kullanıyor, %23.7’si GitLab CI/CD, %14.2’si Jenkins, geri kalan %7.3 ise CircleCI, Buildkite, TeamCity, Argo Workflows ve Tekton arasında dağılıyor. Bu rehber 2026 itibariyle üç önde gelen seçeneği DORA metrikleri, DevSecOps entegrasyonu, GitOps geçişi, maliyet optimizasyonu ve migration deneyimi üzerinden karşılaştırıyor.
CI/CD Nedir ve Neden DORA Metrikleri Belirleyici?
CI (Continuous Integration) kodu sık aralıklarla ana branch’e merge etmeyi ve her merge’ün otomatik build/test’ten geçmesini ifade eder. CD ise Continuous Delivery (üretime gönderilebilir artifact üretimi) veya Continuous Deployment (her başarılı build’in otomatik üretime gitmesi) anlamına gelir. Stack Overflow Survey’ye göre kurumsal ekiplerin %38.4’ü tam Continuous Deployment uygularken, %47.1’i Continuous Delivery seviyesinde kalıyor.
DORA (DevOps Research and Assessment) dört temel metrik tanımlar; pipeline yatırımının ROI’sini sayısal hale getirir.
Deployment Frequency: Birim zamanda üretime giden release sayısı. Elit ekipler “on-demand” (günde birden fazla), düşük performanslı ekipler 6 ay-1 yıl arası deploy yapar.
Lead Time for Changes: Commit’ten üretime kadar geçen süre. Elit ekipler 1 saatten az, ortalama ekipler 1 hafta-1 ay arası.
Mean Time to Recovery (MTTR): Üretim hatasından toparlanma süresi. Elit ekipler 1 saat altı, düşük performanslılar 1 hafta-1 ay.
Change Failure Rate: Üretime giden değişikliklerin yüzde kaçı hotfix/rollback gerektiriyor. Elit ekipler %5 altı, zayıflar %30-45 arası.
Kurumsal CI/CD migration projelerinde sıkça karşılaşılan ilk hata, aracın seçilmeden önce bu dört metriğin baseline’ının ölçülmemesidir. DORA 2024 verisi elit ekiplerin yıllık %182 daha fazla iş çıktısı ürettiğini, operasyonel maliyetlerini %45 daha düşük tuttuğunu gösteriyor.
İyi pipeline üç aşamadan oluşur. Build: kod derlenir, bağımlılıklar yüklenir, artifact (binary, container image, paket) üretilir. Test: unit, integration, e2e + lint, type-check, security scan. Deploy: staging’e otomatik, production’a koşullu (approval gate, branch protection, tag promotion). Build + test 10 dakikayı geçince geliştiriciler “PR sonra bakarım” der; geri bildirim döngüsü bozulur. Stack Overflow 2025’e göre pipeline 5 dakika altı olan ekiplerde developer satisfaction 7.8/10, 20 dakika üzerinde 4.3/10.
GitHub Actions runner workflow YAML asama gorsellestirmesi pipeline akisi
GitHub Actions: Pazar Lideri ve Marketplace Ekosistemi
GitHub Octoverse 2025 raporuna göre GitHub Actions 18 milyondan fazla aktif repository tarafından kullanılıyor ve marketplace’te 24.000’in üzerinde public action mevcut. GitHub’da repo barındırıyorsanız varsayılan tercih GitHub Actions olur. Workflow YAML dosyaları `.github/workflows/` dizininde tutulur ve event-driven tetikleyiciler (push, pull_request, schedule, workflow_dispatch, repository_dispatch, workflow_call) ile çalışır.
Güçlü yönleri net şekilde ortaya çıkar. YAML ile basit konfigürasyon ve düşük öğrenme eğrisi (ortalama 1-2 hafta), 24.000+ hazır action ve marketplace ekosistemi, matrix build desteği (çoklu OS, çoklu sürüm paralel yürütme, 256’ya kadar kombinasyon), public repo için sınırsız ücretsiz dakika, reusable workflows ve composite actions ile DRY prensibi, GitHub native özellikleri (Issues, Projects, Discussions) ile derin entegrasyon, OIDC desteği ile AWS/Azure/GCP’ye keyless authentication, environment-based deployment approval’ları, concurrency control ile race condition önleme öne çıkan başlıklar.
Runner Tipleri ve Pricing 2026
GitHub Actions üç runner kategorisi sunar.
Runner Tipi
Maliyet (Linux)
Kullanım Senaryosu
Maksimum Süre
GitHub-hosted Standard 2-core
$0.008/dk
Genel CI işleri, basit build
6 saat/job
GitHub-hosted 4-core
$0.016/dk
Orta seviye build, test paralel
6 saat/job
GitHub-hosted 8-core
$0.032/dk
Büyük monorepo, native compile
6 saat/job
GitHub-hosted 16-core ARM64
$0.04/dk
ARM build, container multi-arch
6 saat/job
GPU runner (T4)
$0.07/dk
ML model training, GPU test
6 saat/job
Self-hosted
Sadece infra
İç ağ, özel donanım, regulated
Limit yok
Free tier private repo için 2.000 dakika/ay, Pro hesaplar için 3.000 dakika, Team için 10.000 dakika, Enterprise için 50.000 dakika ücretsiz Linux dakikası sağlar. Windows runner’lar 2x, macOS runner’lar 10x çarpan ile faturalanır. Storage 500 MB ile 50 GB arası plan bazlı ayrılır.
Zayıf yönleri: monorepo’larda karmaşık dependency graph yönetimi reusable workflows ile çözülse de GitLab’ın `include` ve `extends` direktiflerine göre daha az olgun, self-hosted runner yönetimi (autoscaling, runner pool maintenance) ek araç gerektirir (Actions Runner Controller, Philips’ terraform-aws-github-runner), Jenkins’in 1800+ plugin’ine kıyasla bazı niş kurumsal entegrasyonlar (ör. legacy SAP BW connector, AS400 build job) eksik kalır.
GitLab CI/CD: All-in-One Felsefe ve Self-Hosted Hakimiyet
GitLab DevSecOps 2025 raporuna göre Fortune 500 şirketlerinin %71’i GitLab’ı en az bir DevSecOps capability’si için kullanıyor; on-prem (self-managed) deployment’lar finans, savunma ve sağlık sektörlerinin %58’ini oluşturuyor. GitLab repo + issue + CI/CD + container registry + package registry + security scanning + observability’i tek pakette sunar; bu “single application for DevSecOps” felsefesi vendor consolidation isteyen kurumlar için belirleyici.
`.gitlab-ci.yml` dosyası repository root’ta tanımlanır; stages, jobs, rules, needs, dependencies anahtar kavramlardır. `include` direktifi ile başka repolardan veya template’lerden konfigürasyon çekilir, `extends` ile job kalıtımı yapılır, `parallel:matrix` ile çoklu varyant çalıştırılır, `needs` ile DAG (Directed Acyclic Graph) tarzı pipeline kurulur.
Native container registry: Docker image push/pull aynı UI içinde, Trivy ile otomatik vulnerability scan.
Review Apps: Her MR için izole staging environment otomatik provision.
Self-managed sürüm: Free, Premium, Ultimate tier’lı tam on-prem kurulum.
Built-in SAST/DAST/IAST/Container Scan: Ultimate tier ile Snyk-benzeri tooling ek lisans gerektirmez.
Compliance management: SOC 2, ISO 27001, FedRAMP audit-ready raporlama.
GitLab Runner ve Pricing 2026
GitLab.com SaaS Free tier 400 CI dakikası/ay, Premium $29/user/ay ile 10.000 dakika, Ultimate $99/user/ay ile 50.000 dakika sunar. Self-managed Free sınırsız dakika (kendi runner’ınız üzerinde), Ultimate self-managed lisansı yıllık $1.188/user. Runner tipleri: shared (SaaS), specific (proje), group (grup), instance (self-managed tüm proje). Docker executor en yaygın, Kubernetes executor cluster-native autoscaling sağlar.
Zayıf yönleri: UI bazı sayfalarda yavaş (pipeline detay, MR diff büyük dosyalarda), action marketplace GitHub’a göre küçük (yaklaşık 4.500 community template) ama yerleşik özellikler bunu kısmen kapatır, free tier CI dakikası kısıtlı, Premium/Ultimate fiyatı per-user model nedeniyle büyük takımlarda hızlı tırmanır. DevOps stack modernizasyon projelerinde gözlemlenen pattern, kurumların GitHub’da kod barındırıp GitLab Ultimate’i sadece security scanning ve compliance reporting için kullanmasıdır.
GitLab CI cok asamali pipeline paralel jobs gorsellestirme dagitik is akisi
Jenkins: 20 Yıllık Olgun Plugin Ekosistemi
Jenkins Community Survey 2025’e göre Fortune 1000 şirketlerinin %44’ü hâlâ Jenkins kullanıyor ve plugin index’inde 1.870+ aktif plugin mevcut. Jenkins 2004’te Hudson olarak başladı, 2011’de Jenkins’e fork’landı ve hâlâ self-hosted CI/CD pazarının %28.6’sını (Datadog 2025) elinde tutuyor. CloudBees, AWS, Azure, Google Cloud Jenkins’i managed servis olarak da sunar.
Jenkinsfile (Groovy DSL veya declarative pipeline) repository’de versiyonlanır. Declarative pipeline syntax 2017’den itibaren standart; scripted pipeline esnek ama karmaşık. Blue Ocean UI eski Jenkins arayüzünü modernleştirir ama development hızı düştü, alternatif olarak Jenkins UI 2.0 ve Jenkins Configuration as Code (JCasC) yaygınlaştı.
Tam self-hosted, tam kontrol: Air-gapped network’lerde, FedRAMP/IL5 regulated ortamlarda çalışır.
JCasC: Configuration as Code ile master setup versiyonlanabilir.
Blue Ocean / classic UI seçimi: Görsel pipeline editor veya text-based esneklik.
Zayıf yönleri: Groovy DSL öğrenme eğrisi yüksek (ortalama 4-8 hafta), plugin uyumsuzlukları kronik dert (CVE-2024-43044, CVE-2025-11234 örnekleri plugin chain’inde RCE riski yarattı), server yönetimi sürekli iş yükü (master HA, agent autoscaling, plugin update, JVM tuning), build container’larında ephemeral environment standart değil. Jenkins admin tipik olarak 0.3-0.5 FTE eşdeğeri zaman alır. Yeni proje başlatıyorsanız Jenkins seçmeniz için spesifik bir sebep (regulated environment, mevcut JCasC yatırımı, niş plugin gereksinimi) olmalı.
CI/CD Best Practices: 2026 Pipeline Tasarım Kuralları
Pipeline aracı seçimi kararın yarısı; geri kalan yarısı pipeline’ın nasıl tasarlandığıdır. DORA 2024 verilerine göre aracın doğru seçilip yanlış yapılandırılması, yanlış araç + iyi yapılandırmadan ortalama %23 daha kötü deployment frequency üretiyor.
Pipeline süresi 10 dk altı: Build + unit test 5 dk, integration test paralel 5 dk hedef. Üzeri için cache, parallel matrix, test sharding.
Signed commits + signed artifacts: Sigstore cosign, SLSA Level 3 hedef, SBOM (CycloneDX, SPDX) her release ile.
Deployment promotion: Dev → staging otomatik, staging → prod manual approval (en az production için).
Rollback mekanizması: Blue-green, canary, feature flag, instant rollback otomasyonu pipeline dışında olsa bile tetiklenmesi pipeline içinden olmalı.
Observability hook’u: Her deployment Datadog, New Relic, Honeycomb’a event olarak gitsin; MTTR ölçümü için zorunlu.
Pipeline-as-code: UI’dan job tanımı yasak. Tüm konfigürasyon repo’da, code review’dan geçer.
DevSecOps Entegrasyonu: SAST, SCA, SBOM ve Shift-Left Güvenlik
Datadog State of DevSecOps 2025 raporu, security scan entegre eden ekiplerin kritik CVE’leri %71 daha hızlı kapattığını ve “shift-left” yaklaşımının remediation maliyetini ortalama 6x düşürdüğünü gösteriyor. Pipeline’a yerleşmiş güvenlik katmanları artık opsiyonel değil.
Detaylı shift-left implementasyonu için DevSecOps shift-left güvenlik rehberi ve container layer için container güvenliği yaklaşımı spesifik araç konfigürasyonlarını içerir.
Snyk DevSecOps 2025 raporuna göre kurumsal pipeline’lara entegre SAST + SCA + container scan kombinasyonu, üretime ulaşan critical CVE sayısını yıllık %68 düşürüyor; vulnerability remediation süresini ortalama 42 günden 11 güne çekiyor. Failed scan = failed build kuralı net olmalı; “warning olarak geçsin” toleransı uzun vadede shift-left’i shift-right’a çevirir.
GitOps Geçişi: ArgoCD, Flux ve Pipeline Sınırı
GitOps, Git repository’sini production state’in tek doğru kaynağı olarak kabul eder; herhangi bir cluster değişikliği Git commit’i ile başlar, controller (ArgoCD veya Flux) cluster’ı git state’e doğru reconcile eder. CNCF GitOps Working Group 2025 verisi Kubernetes cluster’larının %62’sinin GitOps controller kullandığını gösteriyor.
CI ve CD arasındaki sınır GitOps modelinde net çizgi haline gelir. CI tarafı (GitHub Actions, GitLab CI, Jenkins) build, test, container image push, manifest repo’ya commit yapar; cluster’a direkt kubectl apply YAPMAZ. CD tarafı (ArgoCD veya Flux) git state’i izler, drift’i otomatik düzeltir, audit trail Git history’sinde kalır. GitOps adoption kurumsal CI/CD migration projelerinde sıkça karşılaşılan ve doğru uygulandığında MTTR’ı ortalama %47 düşüren bir pattern haline geldi.
ArgoCD vs Flux teknik karşılaştırması ve pipeline-controller bridge tasarımı için GitOps ile Kubernetes yönetimi rehberi implementasyon detaylarını içerir; Kubernetes-native CI/CD’ye geçiş için Argo Workflows, Tekton ve GitHub Actions karşılaştırması CNCF tooling ekosistemini detaylandırır.
GitOps ArgoCD Flux Kubernetes cluster senkronizasyon ve reconciliation gorsel
Maliyet Optimizasyonu: Caching, Parallel Jobs ve Runner Sizing
CI/CD faturalarının kontrolden çıkması 2026’da kurumsal FinOps prioritelerinin ilk beş başlığında. Datadog 2025 verisi, optimize edilmemiş pipeline’ların runner maliyetinin doğru tuning ile ortalama %58 düşürülebildiğini gösteriyor.
Dependency caching: npm/pip/Maven/Gradle cache hit oranı %85+ hedef. Lock file hash’ine bağlı cache key zorunlu, yanlış key %0 hit ratio üretir.
Self-hosted spot/preemptible: AWS Spot, GCP Preemptible, Azure Spot ile %60-90 EC2 maliyeti düşüşü; build interruption tolerance gerekir.
Scheduled cleanup: Eski artifact, container image, cache’in saklama süresi 7-30 gün arası tutulmalı; aksi storage faturası tırmanır.
Reusable workflow consolidation: 50 mikroserviste aynı workflow’un kopyalanması bakım borcu + DRY ihlali; central platform team’in maintained template’i.
Kubernetes runner cost optimization detayları için Kubernetes maliyet optimizasyonu rehberi VPA/HPA stratejilerini içerir; Infrastructure as Code üzerinden self-hosted runner provisioning için Terraform IaC rehberi tekrar kullanılabilir modülleri ele alır.
Kurumsal CI/CD Migration Projelerinde Karşılaşılan Tipik Sorunlar
Mevcut Jenkins yatırımından GitHub Actions veya GitLab CI’ya geçiş projelerinde DevOps stack modernizasyon ekiplerinin gözlemlediği pattern’ler ve karşılaşılan tipik sorunlar pratik bir checklist oluşturuyor.
Big-bang migration deneme: 2.000 Jenkins job’unu bir hafta sonu GitHub Actions’a taşıma denemesi tipik fiyasko. Strangler Fig benzeri aşamalı geçiş (yeni proje yeni araçta, eski Jenkins freeze, 3-6 ay paralel çalışma, eski sistemin sönümlenmesi) düşük riskli yol.
Plugin parity beklentisi: Jenkins’in 1870 plugin’inin tamamının GitHub Actions marketplace’te bire bir karşılığı yok. Custom plugin’lerin %15-25’i için composite action veya reusable workflow yazmak gerekir.
Secret migration sırasında plaintext kaçağı: Jenkins credentials store’dan export, target sisteme aktarım sırasında log’a düşme riski. Vault üzerinden köprü tercih edilmeli.
Runner network connectivity: Self-hosted runner’lar VPC/VPN içinde olduğunda DNS resolution, NAT gateway, proxy konfigürasyonu Jenkins agent’a kıyasla daha katı.
RBAC + audit trail uyumsuzluğu: Jenkins’in role-based plugin’i ile GitHub Actions/GitLab CI’nin native RBAC’i farklı granularity sunar. Compliance audit’i öncesi mapping çalışması.
Cost surprise: Self-hosted Jenkins’ten cloud-hosted runner’lara geçişte ilk ay faturası beklenenin 2-3x üzerinde çıkar (yanlış runner sizing, eksik caching, eksik conditional execution).
Developer training eksikliği: Pipeline-as-code dili değişti, branching strategy değişti, deployment promotion değişti. Hands-on workshop + paired migration zorunlu, dokümantasyon tek başına yeterli değil.
Hidden integrations: Jenkins’in unutulmuş cron job’ları, manuel tetiklenen yıllık raporlama job’ları, dış sistemlerin Jenkins webhook’una bağlılığı migration sonrası kırılır; tam envanter çıkarmadan freeze edilemez.
Sıkça Sorulan Sorular
Pipeline’ın 10 dakikadan kısa olması neden bu kadar önemli?
Daha uzun pipeline’lar geliştiricinin context switch’ini artırır, “deploy korkusu” geri döner. 10 dakika altı sınır DORA ve Stack Overflow araştırmalarında defalarca test edilmiş psikolojik eşik; pipeline süresi 5 dakika altında olan ekiplerde developer satisfaction skoru 7.8/10 iken 20 dakika üzerindeki ekiplerde 4.3/10’a düşüyor. Pratik hedefler: PR feedback 5 dk, full integration 10 dk, deployment 15 dk total.
Self-hosted runner ne zaman tercih edilir?
Üç senaryoda gerçekten gerekli: özel donanım (GPU build, ARM cross-compile, FPGA simülasyon), iç ağ erişimi (intranet DB, on-prem artifact repository, air-gapped environment), regulated environment (FedRAMP High, IL5, FINRA, HIPAA katmanları). Çoğu durumda managed runner daha verimli; self-hosted ekstra 0.1-0.2 FTE bakım yükü getirir. Hybrid yaklaşım (cloud runner default, sensitive job’lar self-hosted) yaygın pattern.
CI/CD ile security scan nasıl entegre olur ve hangi tool stack 2026’da öneriliyor?
Rollback pipeline’ın değil, deployment strategy’sinin parçası; ama tetikleyicisi pipeline içinden gelir. Blue-green deployment iki paralel environment arası traffic switching, canary deployment yüzde bazlı kademeli yönlendirme, feature flag binary on/off. Otomatik health check (HTTP probe, custom metric, error rate threshold) fail olunca instant rollback. GitOps modelinde ArgoCD/Flux rollback’i Git revert ile yapılır, audit trail otomatik korunur. MTTR hedefi elit ekipler için 1 saat altı.
Monorepo’da CI/CD pipeline nasıl ölçeklenir?
Üç temel teknik: path-based filtering (dorny/paths-filter, GitLab `rules:changes`, Nx affected) — değişmeyen servis pipeline atlanır; cache hierarchy (Turborepo, Nx, Bazel remote cache) — daha önce build edilen target’ı yeniden build etmeme; parallel matrix execution — bağımsız servisler eş zamanlı. Bazel/Pants/Nx gibi build sistemleri ile pipeline süresi 50-200 servisli monorepo’larda bile 10 dk altına çekilebilir. Tek pipeline her serviste değil, root pipeline değişen servislerin pipeline’ını tetikler.
Sonuç ve 2026 Tavsiye Matrisi
CI/CD pipeline yazılım ekibinin “üretim hızı” sayısının doğrudan belirleyicisidir. Yanlış araç seçimi yıllar süren iş kaybına, doğru araç + yanlış konfigürasyon orta vadeli operasyonel borca yol açar. 2026 itibariyle pratik öneri net: GitHub’da repo barındırıyorsanız GitHub Actions varsayılan tercih, GitLab’da repo veya kurumsal self-hosted ihtiyacı varsa GitLab CI/CD, mevcut Jenkins yatırımı çalışıyorsa Strangler Fig benzeri aşamalı geçişle modern alternatife yönelin. Kubernetes-native ihtiyaçlarda Argo Workflows veya Tekton, yüksek paralellik ve mobile build odaklı ekipler için Buildkite veya CircleCI değerlendirilebilir.
Pipeline aracı tek başına başarı getirmez; DORA metriklerinin baseline ölçümü, 10 dakika altı pipeline süresi, layered security scan entegrasyonu, GitOps controller’ı ile cluster reconciliation, observability event’leri ile MTTR ölçümü, caching ve runner right-sizing ile maliyet kontrolü asıl yatırım alanlarıdır. Forrester 2025’in %46 deployment frequency artışı verisini ortaya çıkaran ekiplerin ortak özelliği aracı değil, pipeline’ı disiplinle inşa etmeleridir. Daha geniş bulut + DevOps + AI entegrasyonu stratejisi için kurumsal yapay zeka entegrasyonu 2026 rehberini inceleyebilir, derinlemesine teknik konularda DevSecOps shift-left, GitOps Kubernetes ve Terraform IaC rehberlerimizden başlayabilirsiniz.
Üreticilerin resmi dokümantasyonu ve sektör araştırmaları için GitHub Actions Documentation, GitLab CI/CD Documentation, Jenkins Documentation, DORA State of DevOps Research, Stack Overflow Developer Survey, GitHub Octoverse Report ve Datadog State of DevSecOps kaynaklarını referans alabilirsiniz.
Ömer ÖNAL
Yazılım Mimarı | Yapay Zeka LLC. Ölçeklenebilir SaaS, .NET Core altyapıları ve Otonom AI süreçleri inşa ediyorum. Kod değil, sistem tasarlarım.
DevOps danışmanlık projelerinde gözlemlediğim bir pattern: kuruluşlar pipeline’a yatırım yapmadan önce mevcut deployment frequency ve change failure rate metriklerini ölçmüyor. Bu iki DORA metriği baz alındığında, optimizasyon önceliği daha net belirleniyor. Aksi takdirde yatırım kararı sezgisel kalıyor. Yorumlarınızı bekliyorum.
Ömer ÖNAL
Mayıs 15, 2026DevOps danışmanlık projelerinde gözlemlediğim bir pattern: kuruluşlar pipeline’a yatırım yapmadan önce mevcut deployment frequency ve change failure rate metriklerini ölçmüyor. Bu iki DORA metriği baz alındığında, optimizasyon önceliği daha net belirleniyor. Aksi takdirde yatırım kararı sezgisel kalıyor. Yorumlarınızı bekliyorum.