Dağıtım sürecinizi iyileştirmek için yapabileceğiniz birçok şey var. Bunlardan birkaçı:
Kodunuzun iyi test edildiğinden emin olun.
İdeal olarak,% 100 birim test kapsamının yanı sıra akla gelebilecek her senaryo için entegrasyon testine sahip olmanız gerekir.
Eğer buna sahip değilseniz, muhtemelen her şeyi bırakmalı ve bununla ilgilenmelisiniz.
Davranış odaklı gelişime bakın.
Eksiksiz bir test paketine sahip olmanız ...
Sürekli entegrasyonu çalıştırın.
Birisi her değişiklik yaptığında, CI otomatik olarak üzerinde test paketini çalıştırabilir. Test paketi başarılı olursa, hemen dağıtılabilir (veya bir dağıtım zamanlayabilir). Veritabanlarınızda önemli bir değişiklik gerektirmeyen değişiklikler için, bu tek başına size çok fazla zaman ve baş ağrısı kazandıracaktır.
Bir sorun olması durumunda, CI size tek tıklamayla geri alma da sağlayabilir.
Test paketiniz tam ve doğru değilse CI çok daha az kullanışlıdır, çünkü tüm tesis kodunuzu otomatik bir şekilde doğrulamaya dayanır.
Atomik güncellemeler yapın.
İdeal olarak, sadece üretim sunucusundaki eski dosyaları kopyalamamalısınız. Bunun yerine, her dosyayı yeni bir konuma kopyalayan capistrano gibi bir araç kullanın ve ardından istenen dağıtımı işaret etmek için sembolik bir bağlantı kullanın. Geri sarma anlıktır, çünkü symlink'i önceki konuşlandırmaya işaret edecek şekilde değiştirmeyi içerir. (Ancak bu, veritabanı taşıma işleminizi kapsamıyor olmayabilir.)
Ayrıca Docker gibi kapların size yardımcı olup olamayacağını da görün.
Daha küçük, daha sık değişiklikler yapın.
Testleriniz, CI ya da hiçbir şeyiniz olmasa da, bu tek başına önemli ölçüde yardımcı olabilir. Her değişikliğin kendi git dalı olmalı ve konuşlandırmanın mümkün olduğunca az değişikliği olmalıdır. Değişiklikler daha küçük olduğundan, dağıtım sırasında potansiyel olarak yanlış gitme olasılığı daha azdır.
Bu notta, mümkün olduğunda değişiklikleri daha yalıtılmış hale getirin. Omaha oyununda bir değişiklik yaptıysanız ve bu Texas Hold'em, 5 kart stud veya başka bir şeyi etkilemezse, bu bir bakım için askıya alınması gereken tek oyundur.
Uzun süren bir şeyi analiz edin.
Dağıtımlarınızın bazı bölümlerinin uzun sürdüğünden bahsettiniz. Bu muhtemelen veritabanı şeması değişiklikleri. Neyin daha iyi performans gösterebileceğini görmek için veritabanınızın her şema değişikliğiyle birlikte bir DBA'ya bakmaya değer.
Bir konunun uzmanının, dağıtımın büyük zaman alan tüm bölümlerine bakmasını sağlayın.
Garip saatler çalışın.
Bunu zaten yapıyor olabilirsiniz, ama bundan bahsediyor. Geliştiricilerin (ve sistem yöneticilerinin!) Artık özellikle 7x24 çalışma için "9 ila 5" çalışması beklenmemelidir. Birinin bir gecede konuşlandırılması için bebek bakımı yapması, sorunları çözmesi ve daha sonra gündüz bir program tutması bekleniyorsa, beklentileriniz gerçekçi değildir ve o kişiyi tükenmişlik için hazırlıyorsunuz.