Turbopack CI/CD Pipeline: Derleme Süresini %60 Azaltma Rehberi

Turbopack, Next.js 16 ile production ready oldu ve özellikle büyük monorepo'larda derleme sürelerini dramatik şekilde kısaltıyor. Ancak doğru CI yapılandırması olmadan bu kazanım sınırlı kalır. Bu rehberde VefaSec'in üretim pipeline'larından pratik örnekler veriyoruz.
Turbopack Temel: Nasıl Çalışır?
Turbopack, Rust ile yazılmış incremental bundler'dır. Webpack'in aksine her değişiklikte tüm dependency graph'i yeniden tarmaz; sadece etkilenen dosyaları hesaplar. Bu function-level cache, local dev'de HMR'ı anında yapar.
Production build'de de bu cache işe yarar — ancak yalnızca aynı makineye ait yerel cache varsa. CI ortamında cache aktarımı kritik: node_modules değil, Turbopack'in iç cache dizini `.next/cache`'i saklayın.
Monorepo Cache Stratejisi
Turbo repo veya pnpm workspace ile çalışan monorepo'larda paket bazlı cache kritik. Her workspace için ayrı cache key hesaplanır: `hash(pnpm-lock.yaml + apps/web/src/**)`. Sadece değişen workspace yeniden build olur.
GitHub Actions'da `actions/cache@v4` ile bu dizinleri path olarak verip cache key'i workspace hash'ine bağlayın. Cache hit oranımız monorepo'da %87'ye çıktı.
Docker Layer Cache ve Multi-Stage Build
Docker image build'inde layer cache'i doğru yönetmek kritik. COPY package.json + lockfile ilk layer'da, ardından npm install. Sonra COPY src. Böylece kod değiştiğinde node_modules layer'ı cache'ten gelir.
Multi-stage build ile final image küçük tutulur: build stage → runtime stage. VefaSec standart Dockerfile'ı ile Next.js imajı 1.2 GB'tan 220 MB'a düştü; registry'ye push ve pull süreleri 5x hızlandı.
GitHub Actions Pipeline Örneği
3 aşamalı pipeline: Lint + TypeCheck (1 dakika), Unit + Integration Test (2 dakika), Build + Deploy (3 dakika). Toplam 6 dakika; cache hit'te 2.5 dakikaya düşer. Her aşama parallel ve önceki başarılıysa devam eder.
Matrix strategy ile Node.js 20 + 22 eşzamanlı test edilir. Deploy aşaması Vercel veya kendi Kubernetes cluster'ına canary deployment ile gider. Rollback tek komut.
Üretim Ölçümleri ve Sonuç
VefaSec'in tipik bir SaaS repo'sunda: cold build süresi Webpack ile 540 saniye, Turbopack ile 215 saniye (%60 azalma). Cache hit'te ise 45 saniye. CI maliyeti aylık %40 düştü, geliştirici feedback döngüsü dakikalarca kısaldı.
Next.js 16'ya geçiş düşünüyorsanız, Turbopack entegrasyonu ve CI optimizasyonu için VefaSec DevOps paketi geçişi uçtan uca yönetir; keşif görüşmesiyle başlayın.
Projeniz veya denetim ihtiyacınız için VefaSec'le konuşun.
Diyarbakır merkezli ekibimiz; kurumsal müşterilere uçtan uca yazılım geliştirme, sızma testi ve siber güvenlik danışmanlığı hizmetleri sunar. Keşif görüşmesi ücretsiz, bağlayıcı değil.