İçeriğe geç

Kesintisiz Dağıtım (Zero-Downtime Deployment)

Kesintisiz dağıtım (ZDD) ile uygulamanızı güncellerken sunucunuz güvenle trafikten çıkar, sağlığı doğrulanır ve tekrar trafiğe alınır — CI/CD sürecinize birkaç satır ekleyerek. Yapılandırma Konsol → WAF → [alan adı] → Deploy sayfasındadır.

Akış dört adımdır: trafikten çıkar (drain) → deploy et → doğrula → trafiğe geri al. Drain sırasında sunucuya yeni istek gönderilmez, devam eden bağlantılar tamamlanır; ziyaretçiler kesintisiz olarak gruptaki diğer sunuculardan hizmet almaya devam eder.

  1. Konsol → WAF → [alan adı] → Deploy sayfasını açın ve Yeni Deployment Pipeline sihirbazını başlatın.

  2. Hedef Grup adımında deploy edilecek upstream grubunu seçin. Gruptaki sunucular listelenir.

  3. Ayarlar adımını doldurun:

    • Pipeline adı — en fazla 64 karakter (örn. web-1 production)
    • Drain süresi — 10–300 saniye arası, varsayılan 60 saniye. Yeni bağlantılar kesilir, mevcutların tamamlanması bu kadar beklenir.
    • Doğrulama modu — http (varsayılan) veya none. http modunda doğrulama path’i (varsayılan /) ve beklenen durum kodları girilir; deploy sonrası HEIMWALL bu path’e istek atıp sağlığı doğrular.
    • İzinli IP’ler — (isteğe bağlı) satır başına bir IP/CIDR; token yalnızca bu adreslerden kullanılabilir. CI/CD sunucunuzun IP’sini girmenizi öneririz.
  4. Oluştur’a tıklayın. Size bir deploy token gösterilir — “Bu token yalnız ŞİMDİ gösterilir — kopyalayıp güvenle saklayın.” Token’ı CI/CD sisteminizin secret deposuna kaydedin.

Pipeline oluşturulduğunda konsol, kopyalamaya hazır bir kabuk betiği gösterir — betiğe sonradan ulaşmak için pipeline kartındaki CI Komutlarını Göster butonunu kullanın. Betiği CI/CD sisteminize yapıştırıp deploy token’ınızı secret olarak tanımlamanız yeterlidir.

Akışın mantığı dört adımdır:

  1. Başlat (begin) — deploy edilecek sunucuyu (URL veya etiket) bildirirsiniz; HEIMWALL sunucuyu trafikten çıkarmaya başlar.
  2. Bekle (status) — betik, drain tamamlanıp deploy penceresi açılana kadar durumu yoklar.
  3. Deploy — kendi deploy adımlarınız çalışır (kod kopyalama, servis yeniden başlatma…).
  4. Tamamla (commit) — HEIMWALL sağlık doğrulamasını çalıştırır; geçerse sunucu trafiğe geri alınır. Gerekirse iptal (abort) ile deploy’u yarıda kesebilirsiniz; sunucu trafiğe geri döner.

Komutların tam adresleri ve parametreleri, güvenlik gereği yalnızca konsolda gösterilir. Kimlik doğrulama, pipeline’a özel deploy token ile yapılır; pipeline başına dakikada 60 istek sınırı vardır.

DurumKonsol etiketiAnlamı
drainingTrafikten çıkıyorDrain penceresi aktif, bağlantılar tamamlanıyor
readyDeploy penceresi açıkDrain bitti, commit bekleniyor
validatingDoğrulanıyorSağlık doğrulaması çalışıyor
succeededBaşarılıDoğrulama geçti, sunucu trafiğe geri alındı
failedBaşarısızDoğrulama geçemedi, sunucu trafik dışında bırakıldı
abortedİptal edildiDeploy elle iptal edildi
expiredYarım kaldıZaman aşımı — commit gelmedi, sunucu trafik dışında

Devam eden deploy’lar Deploy sayfasının üstünde sarı bantta görünür ve İptal butonuyla durdurulabilir. Geçmiş bölümünde tüm deploy’lar tarih, hedef, durum ve CI notuyla listelenir (sayfa başına 20 kayıt).