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.
Pipeline oluşturma
Bölüm başlığı “Pipeline oluşturma”-
Konsol → WAF → [alan adı] → Deploy sayfasını açın ve Yeni Deployment Pipeline sihirbazını başlatın.
-
Hedef Grup adımında deploy edilecek upstream grubunu seçin. Gruptaki sunucular listelenir.
-
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) veyanone.httpmodunda 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.
- Pipeline adı — en fazla 64 karakter (örn.
-
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.
CI/CD entegrasyonu
Bölüm başlığı “CI/CD entegrasyonu”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:
- Başlat (begin) — deploy edilecek sunucuyu (URL veya etiket) bildirirsiniz; HEIMWALL sunucuyu trafikten çıkarmaya başlar.
- Bekle (status) — betik, drain tamamlanıp deploy penceresi açılana kadar durumu yoklar.
- Deploy — kendi deploy adımlarınız çalışır (kod kopyalama, servis yeniden başlatma…).
- 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.
Deployment durumları
Bölüm başlığı “Deployment durumları”| Durum | Konsol etiketi | Anlamı |
|---|---|---|
draining | Trafikten çıkıyor | Drain penceresi aktif, bağlantılar tamamlanıyor |
ready | Deploy penceresi açık | Drain bitti, commit bekleniyor |
validating | Doğrulanıyor | Sağlık doğrulaması çalışıyor |
succeeded | Başarılı | Doğrulama geçti, sunucu trafiğe geri alındı |
failed | Başarısız | Doğrulama geçemedi, sunucu trafik dışında bırakıldı |
aborted | İptal edildi | Deploy elle iptal edildi |
expired | Yarı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).