Tamam, 2008'de yazdığım cevabı herkes olumsuz oyladığından * ...
Şimdi 2014 yılında nasıl yapacağımızı size anlatacağım. Artık ASP.NET MVC kullandığımız için Web Sitelerini kullanmıyoruz.
Bunu yapmak için kesinlikle bir yük dengeleyiciye ve iki sunucuya ihtiyacımız yok, sürdürdüğünüz her web sitesi için 3 sunucunuz varsa sorun değil, ancak çoğu web sitesi için tamamen fazla.
Ayrıca, Microsoft'un en son sihirbazına güvenmiyoruz - çok yavaş ve çok fazla gizli sihir ve adını değiştirmeye çok yatkın.
İşte bunu nasıl yapıyoruz:
Oluşturulan DLL'leri bir 'bin-pub' klasörüne kopyalayan bir post build adımımız var.
Değiştirilen dosyaları (yaygın olarak desteklendiği için FTP üzerinden) doğrulamak ve üretim sunucusuna senkronize etmek için Beyond Compare'i (mükemmel **) kullanıyoruz
Web sitesinde, 'bin-pub'daki her şeyi' bin'e kopyalayan bir düğmeyi içeren güvenli bir URL'ye sahibiz (hızlı geri dönüşü etkinleştirmek için önce bir yedek alır). Bu noktada uygulama kendini yeniden başlatır. Daha sonra ORM'miz eklenmesi gereken tablo veya sütun olup olmadığını kontrol eder ve bunları oluşturur.
Bu sadece milisaniye kesinti süresidir. Uygulamanın yeniden başlatılması bir veya iki saniye sürebilir, ancak yeniden başlatma istekleri arabelleğe alınır, böylece etkin bir şekilde sıfır kesinti süresi olur.
Tüm dağıtım süreci, kaç dosyanın değiştirildiğine ve kaç değişikliğin gözden geçirileceğine bağlı olarak 5 saniye ile 30 dakika arasında sürer.
Bu şekilde, bir web sitesinin tamamını farklı bir dizine değil, yalnızca bin klasörüne kopyalamanız gerekmez. Ayrıca süreç üzerinde tam kontrole sahipsiniz ve neyin değiştiğini tam olarak biliyorsunuz.
** Uyguladığımız değişiklikleri her zaman hızlıca gözden geçiririz - son dakikada iki kez kontrol olarak, neyi test edeceğimizi biliriz ve herhangi bir sorun olursa hazır oluruz. Beyond Compare'i kullanıyoruz çünkü bu, dosyaları FTP üzerinden kolayca ayırt etmenize izin veriyor. Bunu BC olmadan asla yapmazdım, neyin üzerine yazdığınız hakkında hiçbir fikriniz yok.
* Görmek için aşağıya kaydırın :( BTW Web Sitelerini artık tavsiye etmiyorum çünkü derlemeleri daha yavaş ve yarı derlenmiş geçici dosyalar ile kötü bir şekilde çökebiliyorlar.Onları geçmişte kullandık çünkü dosya bazında daha çevikliğe izin veriyorlardı Küçük bir sorunu çözmek için çok hızlıdır ve tam olarak ne dağıttığınızı görebilirsiniz (Tabii ki Beyond Compare'i kullanıyorsanız - aksi takdirde unutun).