การรวมอย่างต่อเนื่องเกี่ยวข้องกับการจัดส่ง / การปรับใช้อย่างต่อเนื่องอย่างไร


20

นี่คือคำพูดจากเนื้อหาปัจจุบันของ :

... กระบวนการรวมสำเนารหัสการทำงานของนักพัฒนาซอฟต์แวร์ไปยังรหัสฐานที่ใช้ร่วมกันบ่อยครั้งเพื่อป้องกันหรือลดปัญหาการรวม

ตกลงฉันเข้าใจแล้ว แต่จากนั้นยังมีและ และนั่นคือสิ่งที่ฉันทำหายไปอย่างต่อเนื่อง :

  • วิธีการที่ไม่บูรณาการอย่างต่อเนื่องที่เกี่ยวข้องกับการส่งมอบอย่างต่อเนื่องและ / หรือการใช้งานอย่างต่อเนื่องสมมติว่าบางที่ตามเส้น (s) ผ่านทางintegrationคุณจะจบลงในสภาพแวดล้อมเป้าหมายที่ทุกอย่างจะเป็นdeliveringdeployed
  • อะไรคือความแตกต่างระหว่างการส่งมอบอย่างต่อเนื่องและการใช้งานอย่างต่อเนื่อง ?

ย้อนกลับไปในวันก่อนที่ DevOps จะถูกเรียกว่า DevOps เราใช้คำศัพท์ซึ่งอาจช่วยให้เข้าใจข้อกำหนด DevOps ใหม่เหล่านี้เช่น:

  • เลื่อนระดับไปยัง (หรือลดระดับจาก) เป้าหมายก่อนการผลิตบางรายการรวมกับกระบวนการฟื้นฟูบางประเภท (คอมไพล์, ผูก, ฯลฯ ) เพื่อรวมส่วนประกอบทั้งหมดที่เกี่ยวข้องเข้าด้วยกันในสิ่งที่คล้ายปฏิบัติการ นั่นคือสิ่งที่ควรจะคล้าย / ใกล้เคียงกับการรวมกลุ่มอย่างต่อเนื่องหรือไม่?
  • แจกจ่ายไปยังสภาพแวดล้อมเป้าหมายโดยใช้บางอย่างเช่น FTP (หากสำเนามาตรฐานไม่สามารถเชื่อมช่องว่าง) แต่ยังไม่เปิดใช้งานในเป้าหมาย นั่นคือสิ่งที่ควรจะคล้าย / ใกล้เคียงกับการจัดส่งอย่างต่อเนื่องหรือไม่?
  • ติดตั้ง (หรือเปิดใช้งาน ) ในบางสภาพแวดล้อมเป้าหมายรวมกับสิ่งต่าง ๆ เช่นการผูกการหยุด / เริ่มการทำงานเป็นต้นนั่นคือสิ่งที่ควรจะคล้าย / ใกล้เคียงกับการปรับใช้อย่างต่อเนื่องหรือไม่?

การแท็ก markdown มากเกินไปทำให้อ่านยาก นั่นไม่ได้นำบริบทเพิ่มเติมมาสู่คำถามดังนั้นฉันคิดว่า Ords สามารถถูกเน้นย้ำด้วยการขีดเส้นใต้ _markdown_เพื่อทำให้การอ่านง่ายขึ้น
Tensibai

1
ฉันหมายถึงการแก้ไขเป็นความเจ็บปวด :) คำแนะนำสำหรับคำตอบblog.crisp.se/wp-content/uploads/2013/02/ …
Tensibai


คำตอบที่เกี่ยวข้องของฉัน: softwareengineering.stackexchange.com/a/358551/3385
Nakilon

คำตอบ:


23

การส่งมอบอย่างต่อเนื่องและการปรับใช้อย่างต่อเนื่องทั้งสองอย่างรวมกันอย่างต่อเนื่องอีกขั้นตอนหนึ่งโดยเพิ่มขั้นตอน ความแตกต่างระหว่างการส่งมอบอย่างต่อเนื่องและการปรับใช้คือการส่งมอบขั้นตอนนี้ทำด้วยตนเองและสำหรับการปรับใช้มันเป็นไปโดยอัตโนมัติ

ความแตกต่างระหว่างการรวมอย่างต่อเนื่องการจัดส่งอย่างต่อเนื่องและการปรับใช้อย่างต่อเนื่อง

ความแตกต่างระหว่างการรวมอย่างต่อเนื่องการจัดส่งอย่างต่อเนื่องและการปรับใช้อย่างต่อเนื่อง คัดลอกรูปภาพจากcodeproject.com

ไม่ว่าคุณจะจัดส่งอย่างต่อเนื่องหรือการปรับใช้อย่างต่อเนื่องเป็นตัวเลือกการใช้งานอย่างมาก หากคุณทำการปรับใช้อย่างต่อเนื่องการเปลี่ยนแปลงรหัสจะถูกปรับใช้โดยอัตโนมัติหลังจากผ่านการทดสอบการยอมรับ นี่อาจเป็นหรืออาจไม่เป็นที่ต้องการสำหรับผลิตภัณฑ์ของคุณ ด้วยการจัดส่งอย่างต่อเนื่องผู้ใช้สามารถเลือกได้ว่าจะมีการปรับใช้การเปลี่ยนแปลงรหัสเฉพาะหรือไม่

เนื่องจากความแตกต่างระหว่างการจัดส่งอย่างต่อเนื่องและการปรับใช้มีขนาดเล็กและหลายคนไม่ทราบถึงความแตกต่างที่แน่นอนบางครั้งคำศัพท์ทั้งสองจึงใช้แทนกันได้


ดี! แต่ ... คำตอบ (คำตอบของคุณ) เป็นปัญหา (คำถามของฉัน) เปลี่ยนปัญหา ... อ่านเพิ่มเติม ...
Pierre.Vriens

4

การส่งมอบอย่างต่อเนื่องและการปรับใช้อย่างต่อเนื่อง (CD) เป็นสิ่งเดียวกันไม่มากก็น้อย * ทุกครั้งที่มีการเปลี่ยนแปลงจะถือว่า 'ดีที่จะไป' (ทดสอบ / ตรวจสอบแล้ว) ควรทำการเปลี่ยนแปลงทันที คุณสามารถทำได้หลายครั้งต่อวันเนื่องจากมีงานที่ทำเสร็จแล้ว

การรวมอย่างต่อเนื่อง (CI) หมายถึงการรวมรหัสเข้าด้วยกันบ่อยครั้งเพื่อให้แน่ใจว่าฟีเจอร์ย่อยจะไม่เบี่ยงเบนจากสาขา 'มาสเตอร์' หลักของคุณและทำให้คุณรู้ได้อย่างรวดเร็วหากมีปัญหาใด ๆ กับโค้ดจาก เปอร์สเปคทีฟการผสาน - นั่นคือคุณทำลายการทำงานใด ๆ ในขณะที่เปลี่ยนสิ่ง

เท่าที่พวกเขาเกี่ยวข้องกัน CI ช่วยตรวจสอบรหัสอย่างมากเพื่อให้สามารถเผยแพร่ได้อย่างรวดเร็ว (CD) คุณยังสามารถทำ CD โดยไม่ต้องใช้ CI (และในทางกลับกัน) แต่คุณจะพบว่าบ่อยครั้งที่มันทำให้การรวมโค้ดของคุณเร็วขึ้นและบ่อยครั้งมากขึ้นในการค้นหาปัญหาได้เร็วขึ้นซึ่งจะช่วยให้คุณสามารถแก้ไขปัญหา ส่งมอบคุณสมบัติของคุณเร็วขึ้น!

* แก้ไข: นี่คือบทความที่พูดถึงความแตกต่าง https://puppet.com/blog/continuous-delivery-vs-continuous-deployment-what-s-diff การจัดส่งอย่างต่อเนื่องไม่ได้หมายความว่าจะปรับใช้กับการผลิตจริงตลอดเวลา แต่หมายถึงการปรับใช้อย่างต่อเนื่องในสภาพแวดล้อมที่เหมือนการผลิต ด้วยความมั่นใจว่าการเปลี่ยนแปลงเหล่านั้นสามารถไปผลิตได้ตลอดเวลาเมื่อธุรกิจพร้อม ในทางปฏิบัติผู้คนส่วนใหญ่ทำให้คำเหล่านี้สับสน


Merci! แต่ตาม "มากหรือน้อยเหมือนกัน" ของคุณจริงเหรอ? คุณนึกถึงอะไรที่แสดงถึงความแตกต่างบ้างไหม?
Pierre.Vriens

ฉันได้อัปเดตโพสต์ด้วยหมายเหตุเกี่ยวกับความแตกต่าง แต่ฉันเชื่อว่าในการสนทนาปกติคนส่วนใหญ่จะใช้คำเหล่านี้แทนกันได้
tayworm

2

ผลิตภัณฑ์ซอฟต์แวร์เวอร์ชันที่แน่นอนต้องดำเนินการขั้นตอนการรวมให้เสร็จสมบูรณ์ก่อนจึงจะสามารถส่งมอบหรือปรับใช้

สำหรับการอย่างต่อเนื่องการจัดส่ง / การใช้งานอย่างต่อเนื่องบูรณาการคือต้อง มิฉะนั้นหากการรวมเหตุการณ์ที่เสร็จสิ้นแล้วนั้นอยู่ห่างไกลเกินกว่าที่จะมีคุณสมบัติสำหรับแอตทริบิวต์ "ต่อเนื่อง" ดังนั้นการส่งมอบ / การปรับใช้ที่เป็นไปได้ (เฉพาะชุดย่อยของเวอร์ชันรวมที่มีคุณสมบัติตามปกติสำหรับการส่ง / ปรับใช้)

อัปเดต: คำตอบของฉันเน้นเฉพาะการพึ่งพา (ความสัมพันธ์) ระหว่าง CI และ (ทั้งสอง) ซีดีคำศัพท์นั้นค่อนข้างครอบคลุมโดยคำตอบของ THELper

ความคิดเห็นที่เดียวที่ฉันจะต้องว่าเป็นเรื่องเกี่ยวกับ (มากเกินไป) deploymentการใช้งานของ การปรับใช้ในสภาพแวดล้อมที่ไม่ใช่การผลิตเป็นเรื่องจริง พวกเขายังสามารถเกิดขึ้นได้บ่อยครั้ง - เสร็จแล้ว - ตัวอย่างเช่นเป็นส่วนหนึ่งของขั้นตอนการทดสอบที่หลากหลายระหว่างการจัดส่งอย่างต่อเนื่อง continuous deploymentsแต่นั่นไม่ได้ทำให้การใช้งานดังกล่าว การปรับใช้อย่างต่อเนื่องหมายถึงการปรับใช้ในสภาพแวดล้อมการผลิตโดยเฉพาะ


ตกลงทุกอย่างช่วยได้ แต่บางทีคุณสามารถขยายคำตอบของคุณด้วยวิธีที่คุณจะอธิบายถึงการจัดส่งและการใช้งาน
Pierre.Vriens

1

โดยพื้นฐานแล้วการรวมอย่างต่อเนื่องเป็นส่วนหนึ่งของการจัดส่งอย่างต่อเนื่องและการปรับใช้อย่างต่อเนื่องยกเว้นว่าการเผยแพร่จะเกิดขึ้นโดยอัตโนมัติ นอกจากนี้คุณยังสามารถนึกถึงการจัดส่งอย่างต่อเนื่องเป็นขั้นตอนต่อไปของการรวมระบบอย่างต่อเนื่องและทำงานได้ในทุกสภาพแวดล้อม การรวมอย่างต่อเนื่องยังช่วยในการตรวจสอบสิ่งประดิษฐ์เพื่อให้สามารถปรับใช้ได้เร็วขึ้น แม้ว่ามันจะเป็นไปไม่ได้ที่จะมีการปรับใช้อย่างต่อเนื่องโดยไม่ต้องรวมอย่างต่อเนื่องและมันง่ายมากที่จะจับข้อบกพร่องด้วยการรวมอย่างต่อเนื่อง “ สิ่งต่อเนื่อง” ทั้งหมดเหล่านี้ในที่สุดก็เกี่ยวกับการลบการกระทำที่ไม่จำเป็นในเวิร์กโฟลว์การพัฒนา สิ่งสำคัญที่สุดคือ CI / CD มีความสำคัญทั้งในด้านเทคนิคและมุมมองทางธุรกิจ บริษัท ที่ล้มเหลวในการนำหลักการ DevOps มาใช้จะเสี่ยงต่อการเป็นไดโนเสาร์ ในสภาพแวดล้อมไอทีที่รวดเร็วของทุกวันนี้DevOps หรือตาย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.