Sürekli entegrasyonun sürekli dağıtım / dağıtımla ilişkisi nedir?


20

İşte mevcut içeriğinden bir alıntı :

... entegrasyon sorunlarını önlemek veya en aza indirmek için geliştiricinin çalışma kodu kopyalarını paylaşılan bir kod tabanıyla birleştirme işlemi.

Tamam, anladım. Ama sonra ve da var ve burası sürekli biraz kayboluyorum:

  • Sürekli entegrasyon , sizin aracılığınız boyunca hat (lar) boyunca bir yerde her şeyin olacağı bir hedef ortama dönüştüğü varsayılarak, sürekli dağıtım ve / veya sürekli dağıtım ile nasıl ilişkilidir .integrationdeliveringdeployed
  • Sürekli dağıtım ve sürekli dağıtım arasındaki fark nedir ?

DevOps'un DevOps olarak adlandırılmasından önceki günlerde, bu yeni DevOps terimlerini anlamanıza yardımcı olabilecek terminoloji kullandık, örneğin:

  • isteğe bağlı olarak, ilgili tüm bileşenleri yürütülebilir benzeri şeylerde bir araya getirmek için isteğe bağlı olarak bir tür rejenerasyon işlemi (derleme, bağlama vb.) ile birleştirilen bazı üretim öncesi hedefleri tanıtmak (veya bunlardan indirgemek ). Sürekli entegrasyona benzer / yakın olması gereken şey bu mu?
  • 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?
  • bağlanma, durdurma / başlatma işlemleri, vb. gibi hedeflerle birlikte bazı hedef ortamlara yükleme (veya etkinleştirme ). Bu, sürekli konuşlandırmaya benzer / yakın olmalıdır veya olmamalıdır?

Çok fazla etiket işaretlemesi okumayı zorlaştırır. Bu soruya daha fazla bağlam getirmez, bu yüzden Ords okumayı kolaylaştırmak için bir alt çizgiyle vurgulanabilir_markdown_
Tensibai 11:17

1
Yani düzenleme bir acıdır :) cevap için ipucu blog.crisp.se/wp-content/uploads/2013/02/…
Tensibai


Yanıtlar:


23

Sürekli dağıtım ve sürekli dağıtım, sürece 'üretime dağıtım' adımı ekleyerek sürekli entegrasyonu bir adım daha ileri götürür. Sürekli dağıtım ve dağıtım arasındaki fark, dağıtım için bu adımın manuel olarak yapılması ve dağıtım için otomatik olmasıdır.

Sürekli Entegrasyon, Sürekli Dağıtım ve Sürekli Dağıtım arasındaki fark

Sürekli Entegrasyon, Sürekli Dağıtım ve Sürekli Dağıtım arasındaki fark. Resim codeproject.com'dan kopyalandı

Sürekli dağıtım veya sürekli dağıtım yapıp yapmadığınız bir uygulama seçeneğidir. Sürekli dağıtım yaparsanız, koddaki değişiklikler kabul testleri geçtikten sonra otomatik olarak dağıtılacaktır. Bu, ürününüz için arzu edilebilir veya edilmeyebilir. Sürekli dağıtımda, kullanıcılar belirli bir kod değişikliğinin dağıtılıp dağıtılmadığını (ve muhtemelen tam olarak dağıtıldığı yerde) bir seçim yapabilir.

Sürekli dağıtım ve dağıtım arasındaki fark küçük olduğundan ve birçok kişi kesin farkın farkında olmadığından, iki terim bazen birbirinin yerine kullanılır.


Güzel! Ama ... bir sorunun çözümü (cevabınız) (sorum), problemi değiştiriyor ... devamını oku ...
Pierre.Vriens

4

Sürekli dağıtım ve sürekli dağıtım (CD) aşağı yukarı aynı şeydir *. Her değişiklik 'iyi gitmek' olarak değerlendirildiğinde (test edildi / doğrulandı) derhal serbest bırakılmalıdır. Bunu, işin tamamlandığı kadar günde birçok kez yapabilirsiniz.

Sürekli entegrasyon (CI), yalnızca kodların ana 'ana' dalınızdan çok uzağa gitmediğinden emin olmak için kodun bir araya getirilmesi anlamına gelir ve ayrıca bir koddan kaynaklanan herhangi bir sorun olup olmadığını çok hızlı bir şekilde bilirsiniz. entegrasyon perspektifi - yani bir şeyleri değiştirirken herhangi bir işlevi bozdunuz mu?

Birbirleriyle nasıl ilişkilendikleri kadarıyla, CI, kodun hızlı bir şekilde serbest bırakılabilmesi için büyük ölçüde yardımcı olur (CD). Yine de CI olmadan CD elde edebilirsiniz (ve tersi de geçerlidir), ancak kodunuzu erken entegre etmenin ve genellikle sorunları daha hızlı bulmanın hayatınızı daha kolay hale getirdiğini göreceksiniz ve bu da söz konusu sorunları daha hızlı çözmenizi ve nihayetinde özelliklerinizi daha hızlı teslim edin!

* Düzenleme: İşte farkı tartışan bir makale. https://puppet.com/blog/continuous-delivery-vs-continuous-deployment-what-s-diff Sürekli teslimat her zaman üretime her zaman dağıtım yapmak anlamına gelmez, aksine üretime benzer bir ortama sürekli dağıtım anlamına gelir , bu değişikliklerin işletme hazır olduğunda herhangi bir zamanda üretime gidebileceğinden emin olarak. Uygulamada, çoğu insan bu terimleri birleştirir.


mersi! Ama "aşağı yukarı aynı şey" e göre, gerçekten mi? herhangi bir nüansı gösteren herhangi bir şey düşünebilir misiniz?
Pierre.Vriens

Yazımı farklılıklar hakkında bir notla güncelledim, ancak normal konuşmada çoğu insanın bu terimleri birbirinin yerine kullanacağına inanıyorum.
tayworm

2

Bir yazılım ürününün belirli bir sürümü, teslim edilmeden veya dağıtılmadan önce entegrasyon aşamasını tamamlamalıdır.

İçin sürekli teslimat / dağıtım sürekli entegrasyon şarttır. Aksi takdirde, tamamlanan tümleştirme olayları "sürekli" özniteliğe hak kazanmak için çok uzaksa, olası teslimatlar / dağıtımlar da öyledir (yalnızca tümleşik sürümlerin bir alt kümesi genellikle teslimatlar / dağıtım için uygundur).

Güncelleme: Cevabım sadece CI ve (her ikisi) CD'ler arasındaki bağımlılığın (ilişkinin) altını çiziyor, terminoloji THelper'in cevabı tarafından oldukça iyi bir şekilde kapsanıyor.

Bunu yapmak için tek yorum (aşırı) kullanımı hakkında deployment. Üretim dışı ortamlardaki dağıtımlar gerçek bir şeydir. Hatta sık sık gerçekleşebilirler - örneğin sürekli teslimat sırasında çeşitli test aşamalarının bir parçası olarak yapılır. Ama bu böyle konuşlandırmalar yapmaz continuous deployments. Sürekli dağıtımlar, özellikle üretim ortamındaki dağıtımları ifade eder.


tamam, hepsi yardımcı olur, ancak yanıtınızı dağıtım ve dağıtımı nasıl tanımlayacağınız konusunda genişletebilirsiniz?
Pierre.Vriens

1

Temel olarak sürekli entegrasyon, sürümlerin otomatik olarak gerçekleşmesi dışında sürekli dağıtımın ve sürekli dağıtımın bir parçasıdır. Ayrıca sürekli teslimatı, sürekli entegrasyonun bir sonraki mantıklı adımı olarak düşünebilirsiniz ve tüm ortamlarda çalışır. Sürekli entegrasyon ayrıca yapay doğrulama doğrulamasına yardımcı olur, böylece daha hızlı dağıtılabilir. Her ne kadar sürekli entegrasyon olmadan sürekli konuşlandırma yapmak mümkün olmasa da ve sürekli entegrasyon ile hataları yakalamak çok daha kolaydır. Tüm bu “sürekli şeyler” nihayetinde geliştirme iş akışındaki gereksiz eylemleri ortadan kaldırmakla ilgilidir. En önemlisi, CI / CD hem teknik hem de iş açısından önemlidir. Bu DevOps ilkelerini benimsemeyen şirketler dinozorların yoluna girme riskiyle karşı karşıyadır. Günümüzün hızlı BT ortamındaDevOps veya öl.

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.