Şimdilik çalıştığım firma henüz sürekli teslimat yapmıyor. Yine de projeyi el ile sunucuya, dosyaya dağıtıyoruz. Hangisi en iyi yöntemdir: Her bir dağıtım için bir proje eserini manuel olarak dağıtmak veya dosya-dosya dağıtımını sürdürmek?
Şimdilik çalıştığım firma henüz sürekli teslimat yapmıyor. Yine de projeyi el ile sunucuya, dosyaya dağıtıyoruz. Hangisi en iyi yöntemdir: Her bir dağıtım için bir proje eserini manuel olarak dağıtmak veya dosya-dosya dağıtımını sürdürmek?
Yanıtlar:
Hangisi en iyi yöntemdir? bir dağıtımı bir dağıtımı el ile dağıtmak veya dosyayı dosya dağıtımı ile yapmaya devam etmek?
Ne.
En İyi Uygulama, dağıtımınızı tamamen ve özel olarak otomatikleştirmektir . Bu, kimsenin bir sunucuya manuel olarak hiçbir şey koymayacağı anlamına gelir .
“Özetin özetini özetlemek için: İnsanlar bir sorun.” (Douglas Adams)
İnsanlar hata yapar. Kopyalamayı unuttuğunuz dosyalardan biri, kapsamlı bir şekilde değiştirilen paylaşılan bir "kütüphane" ise, tüm Üretim sitesini çökertebilirsiniz.
Manuel adımlar çok çaba gerektirir ve riskli: gerekli bir dosyayı unutabilirsiniz. Belki de ekibinizdeki herkes hangi dosyaların kopyalanması gerektiğini bilmiyordur. Bu sorunların tümü konuşlandırmaları büyük, göz korkutucu ve nadir hale getiriyor - tamamen gereksiz yere. Otomasyon bunlara hitap eder.
En basit otomasyon adımının bile büyük faydaları olabilir, çünkü dağıtımlar önemsiz hale gelir. Dosyaları veya yapıtları (S) FTP veya Rsync veya başka bir teknoloji ile kopyalayan bir script, ilk adımdır. Daha sonra hizmetleri yeniden başlatma gibi, sunucuda dağıtım öncesi ve dağıtım sonrası adımları otomatik olarak gerçekleştirmek için bu komut dosyasını genişletebilirsiniz.
En iyi uygulama, bir tür otomatik işlemi uygulamaktır.
Dikkate almanız gereken 'dosyaya göre dosya' yaklaşımının özel bir nedeni olmadığını kontrol etmeye dikkat edin.
Sürekli Teslimat (veya Dağıtım, aslında) ve her bir dosyayı elle taşıma ile, iki uç noktaya bakıyorsunuz. Tam otomatik bir boru hattı (henüz) oluşturmak istemeyeceğiniz / istemeyeceğiniz tamamen anlaşılabilir bir durumdur. Ancak, işlemin parçalarını otomatikleştirmeyi düşünmelisiniz.
Her bir dosyayı elle taşımak oldukça risklidir ve bu riski örneğin kod deponuzu etiketleyerek, bilgisayarınızda bu etiketi kontrol ederek, eserlerinizi oluşturarak ve sunucunuza yükleyerek azaltabilirsiniz. Bu adımların her biri, birkaç fare tıklamasıyla yürütülecek şekilde otomatikleştirilebilir ve bu, bir dosyayı unutma veya yanlışlıkla bazı ek dosyaları almaya zorlama riskini büyük ölçüde azaltır.
Bir seferde adım adım yapabileceklerinizi otomatikleştirin. Tam otomatik bir CD boru hattına sahip olamayacağınız gerçeği, bazı parçaların otomatikleştirilmesini engellememelidir.
En iyi uygulama, kendi şirketinize özel dağıtımınız için bir maliyet / fayda analizi yapmaktır.
Genel cevap "işleri el ile yapma, otomatikleştirme" şeklindedir. Bu genellikle genel şirketler için doğru cevaptır. Aldığınız cevapların bütünlüğü, topluluğun bunu en iyi uygulamalar olarak ne kadar güçlü bulduğuna dair bir gösterge olmalıdır. Şirketiniz otomasyonun doğru araç olmadığını hissediyorsa, onları neyin benzersiz yaptığını anlamaları gerekir. Bu özgünlük karar verme sürecinize dahil edilmelidir. Örnek set 1 olduğunda "en iyi uygulamalar" yoktur.
"Kaç dosya" ve "ne sıklıkta güncelleme yapılır" ve "kırılmaların sonuçları nelerdir" ve "kötü bir değişikliği ne kadar çabuk geri alabilirsin" gibi sorular cevaplanması gereken sorulardır. Otomatikleştirirseniz, bu soruların çoğu önemsiz hale gelir, ancak el ile güncelleme işleminin maliyet ve faydalarını doğru şekilde atamak için çok önemlidir.
El ile dosya dosya kopyalama ve sürekli teslimat arasında bol miktarda gri ton vardır.
Dağıtım işleminin karmaşıklığını azaltarak, örneğin bir zip dosyası, rpm stili paketleme, kod yönetimi aracı olarak bir altyapı (kukla veya şef gibi) kullanarak veya hatta dosyaları sizin için kopyalayan basit bir komut dosyası kullanarak başlayın. ftp sunucusundaki hazırlama alanı.
Daha fazla manuel adım içeren dağıtım işlemlerinde hata yapma olasılığı daha yüksektir (ve dolayısıyla başarısız olur) - diğerlerinin dediği gibi, insan unsurunu bunun dışına çıkarın.
Tam kesintisiz teslimat uygulamanıza gerek yoktur (masraflı ve zamanla efor / yatırım / inovasyon alır) - basit başlayın, çalışmasını sağlayın, faydalarını gösterin - ve oradan gidin.
Kullandığınız yazılım teknolojisine (veya yığınına) (yorumlanmış dil, derlenmiş dil, masaüstü uygulaması, mobil vb.), Yumuşak olarak değişir. dev. departman politikaları, onu otomatikleştirmek için araçlara sahipseniz, uygulamanızın ne kadar kritik olduğu ve dikkate alınması gereken önemli bir husus da yazılım mimarinizdir (uygulamanızın nasıl tasarlandığı). Bu yüzden burada farklı cevaplar var. Genel bir kural olarak, en iyi yaklaşım dağıtım görevlerinde insan müdahalesini azaltmak, hataları önlemek için mümkün olacaktır. İyi bir uygulama, bir QA Sunucusundaki her şeyi test edecek (bütçe sorunsa sanal sunucuyu kullanmayı düşünün) dağıtımdan önce ve felaket durumunda önceki sürüme geri yüklemek için ters prosedürler uygulayın ( HER ZAMAN yedekler).