Push'tan Canlıya: Cloudflare Deploy

Git push yaptığınızda arka planda ne olur? AstroForge build pipeline'ının her adımı.

Cloudflare Pages build pipeline görselleştirmesi

"Push et ve unut" — modern deployment felsefesinin özeti budur. AstroForge bu felsefeyi tam anlamıyla hayata geçirir.

Deploy Akışı

main branch'e yapılan her push şu adımları tetikler:

  1. Cloudflare Pages, GitHub webhook'u alır ve build başlatır
  2. Astro build çalışır: schema'lar üretilir, tüm sayfalar statik HTML'e dönüştürülür
  3. Build çıktısı dist/ dizinine yazılır
  4. Cloudflare Pages, dist/ içeriğini CDN'e dağıtır
  5. Yeni deploy aktive edilir; önceki versiyon otomatik rollback için saklanır

Tüm bu süreç genellikle 40–60 saniye içinde tamamlanır.

Build Çıktısı Yapısı

Astro SSG build çıktısı saf statik dosyalardan oluşur:

  • dist/tr/ ve dist/en/ — dil başına HTML dizinleri
  • dist/_astro/ — Vite tarafından üretilen hash'li CSS ve JS dosyaları
  • dist/vendor/ — Bootstrap CSS/JS (public/vendor'dan kopyalanır)
  • dist/js/app.js — runtime JS (header yükseklik ölçümü vb.)

Çalışan JavaScript

"Statik site" kavramı bazen JS olmadığı anlamına gelir — bu doğru değildir. AstroForge'da üç JS kaynağı vardır: Bootstrap bundle (dropdown, carousel), public/js/app.js (header offset hesabı, video popup) ve Astro island'ları (şu an kullanılmıyor, ihtiyaç halinde eklenebilir).

Rollback

Cloudflare Pages, her başarılı deploy'u saklar. Bir sorun çıkarsa Cloudflare Dashboard'dan tek tıkla önceki versiyona dönülebilir. Alternatif olarak git revert ile değişiklik geri alınır ve yeni deploy tetiklenir.