Sürekli teslimat sonunda manuel adım nasıl uygulanır?


13

" Sürekli entegrasyonun sürekli dağıtım / dağıtımla nasıl bir ilişkisi var? " Konusundaki sorumun kabul edilen yanıtı, sürekli dağıtım ile sürekli dağıtım arasındaki küçük farkı da açıklıyor . Bu, "Üretime nasıl dağıtmak istersiniz, ancak bunlar arasından seçim yapabileceğiniz (özel) seçenekler gibi bir sorunun cevabı ile ilgili gibi görünüyor:

  • Otomatik).
  • Manuel.

DevOps duvarının diğer tarafında, "manuel" ne anlama geliyorsa ona karşılık gelen bir şey yapmak zorunda kalacak kötü bir "operatör" olacağını hayal edemiyorum ... Sorularım:

  • "Yüklememe karşı" yüklemeyi "dağıtmak için referansım (benim sorum), bu tür" manuel "ifadelerin olası bir uygulamasına yakın mı? İşte ilgili sorumun alakalı bir alıntısı:
  • FTP gibi bir şey kullanarak bazı hedef ortamlara dağıtın (standart kopyalar boşluğu doldurmazsa), ancak henüz hedefte etkinleştirmeyin. Sürekli teslimata benzer / yakın olması gerekenşey bu mu?
  • yüklemek (veya aktive en neyi yakın / benzer olmalıdır Yani vb bağlamalar, durdurma / start işlemleri, gibi şeyler ile birlikte) bazı hedef ortamında sürekli dağıtım veya olmasın?
  • Bunun diğer olası uygulamaları nelerdir?

AWS dağıtımları için, yalnızca ekip yöneticisinin erişebileceği bir yükleme / dağıtma komut dosyası oluşturdum. Dolayısıyla, üretime konuşlandırmak için ekip yöneticisinin senaryoyu çalıştırması gerekiyor.
Kaplumbağa

Hayallerinizi kırdığımız için üzgünüz, ancak hala ekdeploy 'ekibimiz var, Oek, Db2-iSeries üzerinde ARCAD ile DB güncellemelerini ve ardından Tomcart sunucularında şefi, her 2 Perşembe 20.00 ve Gece yarısı arasında üretim versiyonlarını dağıtmak üzere başlatacak. Ne yazık ki, bazen fakir bir operatör var (umarım bu onların tek işi değildir)
Tensibai

Yanıtlar:


5

Şahsen distributionyazılımın bir hedefe dağıtımının sadece bir aracı adımı olduğunu düşünüyorum - bu dağıtımı tamamlamak için gerekli olan yazılımın yüklenmesi / etkinleştirilmesi.

Bana göre delivery(olduğu gibi continuos delivery) konuşlandırılacak yazılım oluşturulduğunda ve dağıtım için kullanıma sunulduğunda (yani dağıtım, kurulum ve etkinleştirme için ) durur

Bu nedenle, ilk sorunuza cevap vermek için, hayır, dağıtım ve kurulumu sürekli teslimatı sürekli konuşlandırmadan ayıran manuel adımı yansıtan bir şey olarak görmüyorum.

Evet, (umarım nadirdir) bazı durumlarda, manuel adım, üretim otomasyonuna yönelik nihai insan kararıdır, süreç otomasyonundaki kültürel güvensizliği ve insan çift kontrol ve dağıtım kararını imzalamanın zihinsel rahatlığını yansıtır. bu karar tamamen otomatikleştirilebilen bir algoritmaya dayanarak verilmiş olsa bile (başarılı / başarısız test sonuçlarını saymak gibi).

Ancak genel olarak, üretimde dağıtımı gerçekleştirme kararının sadece otomatik bir algoritmanın sonucu olmadığı gerçeğini yansıtmaktadır. İşte böyle örneklerden bazıları:

  • otomatik kararın üzerine yazılır
    • tüm kalite kriterleri karşılanmasa bile dağıtım kapatılabilir (hepimiz bunun sadece teorik bir durum olmadığını biliyoruz)
    • dağıtım, tüm kriterler karşılansa bile, herhangi bir nedenle yapılır (örneğin piyasa zamanlaması sonuçları nedeniyle)
  • otomatik algoritma (henüz) uygulanmadı / konuşlandırılmadı
  • algoritma, insan kararlarına bağlı olarak bazı kriterler için kontroller içerir (manuel testten elde edilen sonuçları söyleyin)
  • dağıtım, ek müşteri kontrollerini takiben üçüncü taraf bir müşteri ortamında gerçekleştirilir

Bu yüzden manuel adıma basitçe bir uygulama sorunu olarak bakmam.


Bu konudaki görüşlerinizi paylaştığınız için Merci (oeps: teşekkür ederim). Görünüşe göre farklı bir "dağıtım" algımız var. Bu yüzden sadece 1 senaryo ekleyeyim: çevrimiçi bankacılık sistemi için, Pazar sabahı erken saatlerde, 150.000 güncellenmiş yürütülebilir dosyayı "etkinleştirmek" için 1 saatlik bir pencereniz var. Ve herhangi bir nedenden ötürü, bir geri dönüşe ihtiyaç duyulacaksa, o pencereyi genişletmek için herhangi bir tartışma yapmak mümkün değildir. Gerçekten "geri almanın gerekmesi durumunda" bunun için gereken zamanı kullanmak yerine, zamanınızı "dağıtmak" için harcamak ister misiniz? ???
Pierre.Vriens

Bu IMHO sadece sizin durumunuzda geçerli olan dağıtımın kendisinin bir optimizasyonu veya uygulama detayıdır (ancak bu bir kural oluşturmaz). Eski sw yürütmesini gerçekten kapatmadan önce dağıtımınızın bir kısmını yürüttüğünüz için, ilgili işin teslim aşamasının bir parçası olduğu anlamına gelmez. Ayrıca, dağıtımı başlattıktan sonra da tamamlamanız gerektiği anlamına gelmez. Sw, aslında dağıtmasanız bile etkili bir şekilde teslim edilir (yani dağıtım için hazır / kullanıma hazır).
Dan Cornilescu

2

Diğer projelerin tüketmesini beklediğiniz bir şey yayınlıyorsanız, konuşlandırmanız gereken ek bir nokta da "başkalarının kullanması için yayınlama" anlamına gelir.

Bir kitaplığı ortak bir yapay yapı deposuna dağıtırken bir iş akışı düşünün. Sürecin bu kısmı, yapıyı derleme zamanında gerektiren başka bir bileşen dağıtmanızın bir parçası olabilir veya basitçe ortak bir kütüphaneye güncelleme olabilir. Ancak, bu artefakt için, yaşam döngüsü mutlaka başkaları tarafından tüketilmek üzere hazırlanmakla bitmez, ancak bu artefaktın artefakt deposuna konuşlandırılması, geliştiricilerin bir yeni sürüm ve diğerleri yeni sürümü güvenle tüketmeden önce.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.