Bir günlük build logu: CI/CD'yi GitHub Actions'tan Cloudflare'a taşımak
Limit veya maliyet baskısı geldiğinde deployment hattını taşımak yalnızca YAML değiştirmek değildir. Source of truth, preview ve production sınırlarını yeniden kurmak gerekir.
Bu build logunun amacı "Cloudflare daha iyi" demek değil. CI/CD hattını değiştirirken hangi kararların sırayla ele alınması gerektiğini kaydetmek.
09:00 — Sorunu tanımla
GitHub Actions limitine neden çarpıldığını ayır: build sıklığı, duplicate workflow, gereksiz branch trigger'ı ve artifact üretimi.
10:00 — Source of truth'u koru
Kodun kaynağı GitHub kalır. Build sağlayıcısı değişse de deployment'ın hangi commit'ten üretildiği görünür olmalıdır.
11:00 — Build sözleşmesini çıkar
Node/Bun sürümü, install komutu, build komutu, output klasörü ve environment değişkenleri belgelenir.
13:00 — Preview ve production'ı ayır
Her branch production'a gitmez. Preview PR/branch için, production belirlenen ana dal için çalışır.
15:00 — Doğrulama
- Doğru commit deploy oldu mu?
- Router fallback doğru mu?
- Environment değişkenleri doğru ortamdan mı geliyor?
- Cache eski bundle servis ediyor mu?
- Custom domain yeni deploy'u görüyor mu?
17:00 — Eski hattı kapat
Yeni hat doğrulanmadan eski workflow'u silme. Duplicate deploy üretmeyecek şekilde eski trigger ancak doğrulama sonrası kapatılır.
CI/CD migrasyonu provider değişikliği değil; teslimat sisteminin sahipliğini netleştirme işidir.