TL;DR
- Bir ürünün açılış sayfasındaki farklılıkları, rakiplerin kopyalayamayacağı iddialarla yeniden yazdım — bugün kendi yazımında daha fazlası mevcut.
- İki sunucu yükleyicisini gerçekten uçtan uca ve devam edilebilir hale getirdim ve çalışmaya başlamadan önce SSH bağlantısını kontrol etmelerini sağladım.
- Cloudflare üzerinden yönlendirilmiş bir kaynağı ele aldım böylece yükleyici, kenar değil gerçek sunucu ile iletişim kurabiliyor.
- Laravel önbellek konfigürasyonunu
CACHE_STOREkullanacak şekilde düzelttim ve Redis ACL (kullanıcı adı + şifre) kimlik doğrulamasını belgeledim.
Rakiplerin Kopyalayamayacağı Farklılıklar
Açılış sayfasındaki çoğu “farklılık” iddiasının, rakiplerin kelimesi kelimesine kopyalayabileceği ifadeler olduğunu keşfettim. Bunları, yalnızca yapısal ve kontrol edilebilir gerçekleri koruyacak şekilde yeniden yazdım ve argümanı gizlemek yerine iki diyagramı yeniden çizdim. Kısa versiyon: Bir rakip bununla ilgili aynı şeyi söyleyebiliyorsa, bu bir farklılık değildir.
İki Kez Çalışmaya Dayanan Yükleyiciler
Yeni bir sunucu için sağlama betikleri üzerinde geceyi harcadım (bir adanmış analiz veritabanı ve bir API dağıtımı). Saklamaya değer iki ders var.
Devam edilebilirlik “bir kez çalıştır, dua et” yaklaşımını geçiyor. Yükleyici yarıda kalıp sizi yarım kalmış bir kutu ile baş başa bıraktığında, bu hiç yükleyicinin olmamasından daha kötüdür. Çözüm, her adımı idempotent olarak yapmaktır — bir şeyi oluşturmadan önce zaten var olup olmadığını kontrol edin — böylece yeniden çalıştırma, kaldığı yerden devam eder ve önceki iş üzerinde takılmamış olur.
Provisioning’den önce kontrol edin. Betik artık değişiklik yapmaya başlamadan önce SSH bağlantısını önceden kontrol ediyor. “Bu host’a ulaşamıyorum” şeklinde hızlı bir başarısızlık — 14. adımda yarı yapılandırılmış bir sunucuyla karşılaşmaktan çok daha nazik bir çözümdür.
Cloudflare-Proxy Kayıp Tuzağı
API sunucusu Cloudflare proxy’sinin arkasındaydı, bu nedenle isim Cloudflare’ın kenarına çözülüyordu, gerçek kutuya değil. “Domain”e SSH ile bağlanan bir yükleyici tamamen yanlış bir şeye iletişim kuruyor. Ders: Bir host proxy arkasındaysa, dağıtım yolu gerçek origin adresini, kamu DNS adını değil, gerektirir. Geriye dönük olarak bariz olan bu durum, o anda kafa karıştırıcı bir 20 dakika sürüyor.
Laravel: CACHE_STORE ve Redis ACL
Küçük ama önemli bir not. Laravel, önbellek çevre değişkenini CACHE_STORE olarak yeniden adlandırdı (eski CACHE_DRIVER adıyla). Bir yapılandırma hala eski isim üzerinden anahtarlanıyordu, bu nedenle amaçlanan mağaza seçilemiyordu. Referansı düzelttim ve yanında Redis kurulumunu belgeledim — modern Redis ACL’leri destekliyor, bu nedenle kimlik doğrulama bir kullanıcı adı ve şifre çiftidir, yalnızca bir şifre değil. Eğer sadece REDIS_PASSWORD ayarladıysanız, sunucu ACL’leri uyguladığında sorun yaşayacağınız yer burasıdır.
Günün özeti: Keskin bir konumlandırma metni, daha sağlam yükleme betikleri ve gelecekte yeniden keşfetmemem için iki konfigürasyon hatası belgeledim.
Kaynak: Orijinal Makale


