ฉันคิดว่าคุณต้องมี DVCS (เช่น mercurial, git) เพื่อทำสิ่งนี้ตามธรรมชาติ ด้วย CVCS คุณจะต้องมีสาขาและหวังว่าจะมีเทพเจ้าใดก็ตามที่คุณไม่มีนรกผสม
หากคุณใช้ DVCS คุณสามารถทำขั้นตอนการรวมกลุ่มเพื่อให้โค้ดตรวจสอบแล้วก่อนที่จะถึงเซิร์ฟเวอร์ CI หากคุณไม่มี DVCS รหัสจะมาถึงเซิร์ฟเวอร์ CI ของคุณก่อนตรวจสอบเว้นแต่ผู้ตรวจสอบรหัสจะตรวจสอบรหัสในเครื่องของนักพัฒนาซอฟต์แวร์แต่ละคนก่อนที่จะส่งการเปลี่ยนแปลง
วิธีแรกในการทำโดยเฉพาะอย่างยิ่งถ้าคุณไม่มีซอฟต์แวร์การจัดการพื้นที่เก็บข้อมูลที่สามารถช่วยเผยแพร่ที่เก็บข้อมูลส่วนบุคคล (เช่น bitbucket, github, rhodecode) คือการมีบทบาทการรวมแบบลำดับชั้น ในไดอะแกรมต่อไปนี้คุณสามารถมีผู้ตรวจสอบงานของผู้พัฒนาและให้ผู้เผด็จการเป็นผู้รวบรวมหลักในการพิจารณาว่าผู้พันรวมงานกันอย่างไร
อีกวิธีในการทำหากคุณมีซอฟต์แวร์การจัดการพื้นที่เก็บข้อมูลคือการใช้เวิร์กโฟลว์ดังต่อไปนี้:
ซอฟต์แวร์การจัดการพื้นที่เก็บข้อมูลมักจะช่วยให้การแจ้งเตือนปล่อยเมื่อมีกิจกรรมในที่เก็บ (เช่นอีเมล, RSS) รวมทั้งช่วยให้ดึงการร้องขอ การตรวจสอบโค้ดสามารถเกิดขึ้นได้ในระหว่างการร้องขอการดึงเนื่องจากโดยทั่วไปแล้วคำขอการดึงจะทำให้ผู้คนมีส่วนร่วมในการสนทนาเพื่อให้มีการรวมรหัส นำคำขอดึงแบบสาธารณะนี้เป็นตัวอย่าง ผู้จัดการบูรณาการสามารถจริงไม่อนุญาตให้โค้ดที่จะมาถึงที่เก็บความสุข (อาคา "พื้นที่เก็บข้อมูลกลาง") ถ้าความต้องการของรหัสที่จะได้รับการแก้ไข
สิ่งสำคัญที่สุดคือด้วย DVCS คุณยังสามารถรองรับเวิร์กโฟลว์ส่วนกลางคุณไม่จำเป็นต้องมีเวิร์กโฟลว์แฟนซีที่ยอดเยี่ยมอีกหากคุณไม่ต้องการ ... แต่ด้วย DVCS คุณสามารถแยกพื้นที่เก็บข้อมูลการพัฒนาส่วนกลางจาก CI เซิร์ฟเวอร์และมอบสิทธิ์ให้ผู้อื่นในการผลักดันการเปลี่ยนแปลงจาก dev repo ไปยัง CI repo เมื่อเซสชั่นตรวจสอบโค้ดเสร็จสิ้นแล้ว
PS: เครดิตสำหรับภาพไปที่git-scm.com