Sürekli Entegrasyon
Üniversitenizin tanımını kabul ediyorum. Sürekli Entegrasyon , bir geliştiricinin sık sık aksine, kodu ana hatta sürekli olarak nasıl entegre edebileceğine ilişkin bir stratejidir.
Bunun sürüm kontrol sisteminizde yalnızca bir dallanma stratejisi olduğunu iddia edebilirsiniz.
Bir geliştiriciye atadığınız görevlerin boyutu ile ilgilidir; Bir görevin 4-5 adam-gün süreceği tahmin ediliyorsa, geliştiricinin önümüzdeki 4-5 gün boyunca hiçbir şey teslim etme isteği olmayacaktır, çünkü henüz hiçbir şey yapmamıştır.
Yani boyut önemlidir:
small task = continuous integration
big task = frequent integration
İdeal görev büyüklüğü bir günlük çalışmadan daha büyük değildir. Bu şekilde bir geliştirici doğal olarak günde en az bir entegrasyona sahip olacaktır.
Sürekli Teslimat
Sürekli Teslimat içinde temel olarak üç okul vardır:
Sürekli Teslimat, Sürekli Entegrasyonun doğal bir uzantısıdır
Bu okul en bakışlar Addison-Wesley "Martin Fowler" imza serisi ve 2007 yayımı çağrıldı beri varsayım yapar "Sürekli Entegrasyon" ve 2011 yılında izledi biri denirdi "Sürekli Teslim" muhtemelen hacmi olan 1 + 2 aynı kavramsal fikrin sürekli bir şeyle ilgisi vardır .
Sürekli Teslimat, Çevik Yazılım Geliştirme ile ilgilidir
Bu okul, Sürekli Teslimat'ın sadece kavramsal bir fikir ya da niyet mektubu olarak değil, gerçek hayatta gerçek hayatta da çevik hareketin prensiplerini destekleyebileceği fikrinden yola çıkmaktadır .
"Sürekli teslimat" teriminin ilk defa kullanıldığı Agile Manifestosunda ilk prensipte dengeleme :
En yüksek önceliğimiz, değerli yazılımların erken ve sürekli teslimi ile müşteriyi memnun etmektir.
Bu okul, "Sürekli Teslimat" ın "tamamlanmış tanımınız" için otomatik bir doğrulama uygulamak için gereken her şeyi kapsayan bir paradigma olduğunu iddia ediyor .
Bu okul, "Sürekli Teslim" ve vızıltı kelimesinin ya da mega devri "DevOps" un, sadece bir teknik değil, bu yeni paradigmayı veya yaklaşımı benimsemeye çalıştıkları için aynı madalyonun çevirme tarafları olduğunu kabul eder.
Sürekli Dağıtım, Sürekli Dağıtım ile eşanlamlıdır
Üçüncü okul, Sürekli Dağıtım ve Sürekli Teslimat'ın aynı anlama gelmek için birbirinin yerine kullanılabileceğini savunuyor .
Geliştiricilerin elinde bir şey hazır olduğunda, hemen son kullanıcılara teslim edilir, bu da çoğu durumda üretim ortamına dağıtılması gerektiği anlamına gelir. Dolayısıyla "Dağıtma" ve "Teslim etme" aynı anlama gelir.
Hangi okula katılacak
Üniversiteniz ilk okula açıkça katıldı ve aynı yayın serisinin 1 + 2 cildine atıfta bulunduğumuzu iddia ediyor. Benim düşüncem, bunun Sürekli Teslimat teriminin kötüye kullanılmasıdır.
Ben şahsen Sürekli Teslimat'ın çevik hareketin ifade ettiği fikir ve kavramlar için gerçek yaşam desteği uygulamakla ilgili olduğunu savunuyorum . Bu yüzden, terimin "DevOps" gibi bir paradigmayı kucakladığını söyleyen okula katıldım.
Kullanan okul teslimatı için eşanlamlı olarak dağıtmak çoğunlukla vadeli daha yaygın kullanımından yutturmaca biraz almaya çalışırken, dağıtım konsolları oluşturmak aracı satıcıları tarafından savunulmaktadır Sürekli Teslimat .
Sürekli Dağıtım
Sürekli Dağıtım'a odaklanma, çoğunlukla son kullanıcının yazılım güncellemelerine erişiminin bu bilgiler için bazı merkezi kaynakların güncellenmesine bağlı olduğu ve bu merkezi kaynağın her zaman kolay olmadığı, çünkü monolitik olduğu veya (çok) yüksek tutarlılığa sahip olduğu alanlarla ilgilidir. doğaya göre (web, SOA, Veritabanları vb.).
Merkezi bilgi kaynağı olmayan (aygıtlar, tüketici ürünleri, istemci kurulumları vb.) Veya merkezi bilgi kaynağının güncellenmesinin kolay olduğu (uygulama depoları artefakt yönetim sistemleri, Açık Kaynak depoları vb.) Yazılım üreten birçok alan için ), Sürekli Dağıtım terimi hakkında neredeyse hiç bir aldatmaca yoktur. Sadece konuşlandırıyorlar; büyük bir şey değil - özel bir odaklanma gerektiren bir acı değil.
Sürekli Dağıtım'ın herkes için genel olarak ilginç bir şey olmaması, aynı zamanda "teslimat" ve "konuşlandırmanın" eşanlamlı olduğunu iddia eden okulun her şeyi yanlış yaptığını iddia ediyor. Çünkü Sürekli Teslimat, cihazlarda gömülü yazılım yapıyor veya bir çerçeve için Açık Kaynak eklentilerini yayınlamış olsanız bile, herkes için gerçekten iyi bir anlam ifade eder.
Üniversitenizin Sürekli Dağıtım'ın Sürekli Teslimatın doğal bir sonraki adımı olduğunu tanımlaması, KG tarafından gönderilen her teslimatın derhal son kullanıcılara sunulması gerektiğini varsayar ve kabilemin "Sürekli" terimini tanımlamak için kullandığı tanıma daha yakın Release ", bu da herkes için genel olarak anlamlı olmayan başka bir kavram.
Bir yayın çok stratejik veya politik bir şey olabilir ve herkesin bunu her zaman yapmak isteyeceğini varsaymak için hiçbir neden yoktur (çevrimiçi bir kitapçı bir akış hizmeti türü şirket olmadıkça). Bununla birlikte, her şeyi körü körüne serbest bırakmayan şirketlerin yine de dağıtımın efendisi olmak istedikleri birçok nedeni olabilir, bu yüzden Sürekli Dağıtım da yaparlar . Değil üretime ancak salım salım-adaylarına karşı üretim benzeri ortamlarda.
Yine üniversitenin yanlış anladığına inanıyorum. "Sürekli Sürüm" için "Sürekli Dağıtım" ı yanlış yapıyorlar.
Sürekli dağıtım, bir geliştirme sürecinin sonucunu, fonksiyonel testin tam ölçekte gerçekleştirilebileceği üretime benzer bir ortama sürekli olarak taşıyabilmenin disiplinidir.
Sürekli Teslimat Hikayesi
Resimde her şey canlanıyor:
Sürekli Entegrasyon süreci, durum geçiş şemasındaki ilk iki eylemdir. hangi - başarılı olursa - tamamının tanımını uygulayan Sürekli Teslim boru hattını başlatır . Dağıtım, bu boru hattında sürekli olarak yapılması gereken birçok eylemden sadece biridir. İdeal olarak, işlem geliştiricinin VCS'ye taahhüt ettiği noktadan boru hattının geçerli bir serbest bırakma adayımız olduğunu doğruladığı noktaya kadar otomatiktir.