ทางออกที่ดีที่สุดคือการใช้ประโยชน์จากระบบ CI ของคุณสำหรับการสร้างที่สำคัญระดับองค์กรทั้งหมด
สิ่งนี้จะเชื่อมโยงไบนารีที่ถูกปล่อยอย่างเป็นระบบกับเนื้อหาที่เก็บโดยไม่ต้องเก็บไบนารีในที่เก็บจริง
ตัวอย่างเช่นหากคุณใช้ SVN ให้ใช้รูปแบบองค์กรที่มีสาขาเป็นหลัก พัฒนาทุกวันใน / trunk และสร้าง / แท็กสำหรับแต่ละรุ่นเมื่อพร้อม
กำหนดค่าระบบ CI ของคุณเพื่อสร้างจากแท็กเช่นเดียวกับจากลำต้นและรับมันเพื่อเขียนผลลัพธ์ไปยังไดเรกทอรีเครือข่ายที่มีโครงสร้างสะท้อนโครงสร้างระดับบนสุดของ repo:
- / สร้าง / ลำ / [รอบ] [วันที่] [build_id] /
- / สร้าง / แท็ก / release_0_1_3beta4 / [รอบ] [วันที่] [build_id] /
ระบบการสร้างจะต้องปฏิบัติต่อ/ builds / trunk /ไดเรกทอรีเช่นบัฟเฟอร์แบบวงกลมจัดเก็บการสร้าง n ครั้งล่าสุดการลบการสร้างเก่าตามที่ไป
ในขณะที่ไดเรกทอรี/ builds / tags /เป็นที่เก็บถาวร build builds เองถูกเก็บไว้ในไดเร็กทอรีที่มีชื่อที่สร้างขึ้นตามแบบแผนต่อไปนี้:
- [รอบ] [วันที่] [build_id]
โดยที่[rev]คือรหัสการแก้ไข SVN, [date]คือวันที่ในรูปแบบ YYYYMMDD และ[build_id]เป็นตัวนับที่ไม่ซ้ำกัน 3 หลักซึ่งเพิ่มขึ้นจากการสร้างครั้งแรกเป็นต้นไปทำให้แต่ละไดเรกทอรีการสร้างไม่ซ้ำกัน
กระบวนการรายละเอียดข้างต้นให้ประโยชน์ดังต่อไปนี้:
Build artifacts นั้นเชื่อมโยงกับแหล่งที่สร้างขึ้นอย่างเป็นระบบดังนั้นคุณสามารถค้นหาแหล่งที่มาของสิ่งประดิษฐ์ build ได้อย่างง่ายดาย (และในทางกลับกัน)
นี่เป็นพื้นฐานสำหรับการวางจำหน่ายอัตโนมัติเพิ่มเติม ตัวอย่างเช่นการสร้างเอกสารเผยแพร่อัตโนมัติ ฯลฯ ...