Mert Özen Her Satırda Daha İleri

Blog

Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.

Seriler
8 yazı bulundu
CI, Continuous Delivery ve Continuous Deployment: Farkları ve Neden Önemli
DevOps SERİ 01

CI, Continuous Delivery ve Continuous Deployment: Farkları ve Neden Önemli

CI, herkesin işini her gün mainline'a entegre edip her push'ta otomatik build ve test koşturmaktır; continuous delivery her commit'i release edilebilir tutar ve production'a çıkışı bir karara bırakır, continuous deployment ise o butonu da kaldırır. Integration hell senaryosu, Fowler'ın 2024 pratikleri, act ile koşulmuş bir CI workflow'u ve MinimumCD kontrol listesi.

8 Kas 2026 8 dk 4
Pipeline Anatomisi: Trigger, Stage, Job, Step ve Fail Fast
DevOps SERİ 02

Pipeline Anatomisi: Trigger, Stage, Job, Step ve Fail Fast

Bir pipeline trigger'larla başlar, birbirine bağımlı job'lardan (Jenkins'te stage) ve sırayla koşan step'lerden oluşur; build mantığını lokalde çalışan bir script'e koyup pipeline'ı sadece orkestra şefi yapmak, ucuz kontrolleri öne almak ve paralel dallarda fail fast kullanmak geri bildirimi hızlandırır. GitHub Actions, Jenkins ve Azure DevOps terim eşlemesi, act ve Jenkins ile koşulmuş gerçek çıktılar.

8 Kas 2026 10 dk 4
Build Once, Deploy Many: Artifact, Versiyonlama ve Immutable Paket
DevOps SERİ 03

Build Once, Deploy Many: Artifact, Versiyonlama ve Immutable Paket

Artifact'ı bir kez build edip aynısını, tag'i ya da digest'iyle staging'den production'a taşımak, staging'de test edilen şeyin production'a gitmesini garanti eder; aynı commit'ten iki kez build almak bile farklı image üretir. Lock dosyaları ve npm ci ile reproducible build, SHA ile sürüm damgalama, :latest tuzağı ve Angular için runtime config.json.

8 Kas 2026 10 dk 4
Pipeline'da Test: Hızlı Geri Bildirim, Quality Gate'ler ve Flaky Test'ler
DevOps SERİ 04

Pipeline'da Test: Hızlı Geri Bildirim, Quality Gate'ler ve Flaky Test'ler

Testleri pipeline'a ucuzdan pahalıya dizmek (format, unit, Testcontainers ile integration, Playwright ile e2e) ve uyarı, coverage ve bundle budget gibi quality gate'leri eklemek hızlı ve güvenilir geri bildirim verir; flaky test'i retry ile örtmek yerine kökünü bulmak gerekir. Assertion'sız testin coverage'ı nasıl şişirdiği, 30 koşuda 2 kez kırılan gerçek bir flaky test ve boş kalan Playwright shard'ı.

8 Kas 2026 11 dk 4
Environment'lar ve Promotion: Dev, Test, Staging, Production ve Configuration
DevOps SERİ 05

Environment'lar ve Promotion: Dev, Test, Staging, Production ve Configuration

Aynı artifact dev, test, staging ve production'a yeniden build edilmeden taşınır; basamaktan basamağa değişen tek şey ortamdan gelen configuration olmalıdır. ASP.NET Core'da appsettings.{Environment}.json ve ortam değişkenleriyle katmanlı configuration, ValidateOnStart ile açılışta kırılan eksik ayar, staging ile production arasında fark envanteri, PR başına preview environment ve non-prod veriyi maskelemek.

8 Kas 2026 9 dk 6
Approval, Gate ve Deploy Kontrolleri: Pipeline'a İnsan ve Kural Eklemek
DevOps SERİ 06

Approval, Gate ve Deploy Kontrolleri: Pipeline'a İnsan ve Kural Eklemek

Otomatik gate'ler (smoke test, health check, deploy freeze) 'bu değişiklik çalışıyor mu?' sorusunu, manuel approval ise 'şimdi mi?' sorusunu cevaplamalı; DORA, ağır dış onayların change fail rate'i düşürdüğüne dair kanıt bulamadı. Jenkins input step'inde herkes yöneticiyken submitter'ın işe yaramadığını gösteren gerçek çıktı, GitHub environment protection rule'ları ve Azure DevOps check'leri.

8 Kas 2026 10 dk 4
Pipeline Güvenliği ve Secret'lar: Least Privilege, Kısa Ömürlü Credential ve Supply Chain
DevOps SERİ 07

Pipeline Güvenliği ve Secret'lar: Least Privilege, Kısa Ömürlü Credential ve Supply Chain

Pipeline production anahtarlarına sahip en güçlü kullanıcıdır; secret'ları store'da tutmak, job başına least privilege, uzun ömürlü cloud key'leri yerine OIDC ile kısa ömürlü token ve action'ları commit SHA'sına pin'lemek riskin büyük kısmını kapatır. Base64'e çevrilen secret'ın maskelemeden kaçtığı gerçek act çıktısı, actionlint'in yakaladığı script injection, fork PR riskleri ve SLSA v1.2 ile SBOM'a kısa bakış.

8 Kas 2026 9 dk 5
Pipeline'ı Ölçmek ve Hızlandırmak: DORA Metrikleri, Cache ve Paralellik
DevOps SERİ 08

Pipeline'ı Ölçmek ve Hızlandırmak: DORA Metrikleri, Cache ve Paralellik

DORA'nın güncel beş metriği (change lead time, deployment frequency, failed deployment recovery time, change fail rate, deployment rework rate) deploy kayıtlarından hesaplanır ve ekip bazında trend olarak izlenmelidir; pipeline'ı hızlandırmak ise ölçümle başlar. Tek dosyalık bir C# hesaplayıcı, act'te NuGet cache'inin restore'u sadece 0,2 saniye hızlandırıp 2,3 saniyelik geri yükleme maliyeti getirdiği gerçek ölçüm, cache key tasarımı ve path filter tuzağı.

8 Kas 2026 10 dk 4
Blog Haritası