Wikipedia มีคำตอบที่ดีมากสำหรับคำถามนี้ สิ่งประดิษฐ์บางครั้งเรียกว่ายังมาวัตถุเป็นผลิตภัณฑ์ของบางกระบวนการนำไปใช้กับรหัสพื้นที่เก็บข้อมูล เดิมทีพวกเขาถูกเรียกว่าBuild Artifactแต่เมื่อมีการนำกระบวนการอื่นมาใช้นอกเหนือจากการสร้างเพื่อสร้างพวกเขาคำแรกก็ถูกทิ้งอย่างง่ายๆ
ความแตกต่างที่สำคัญคือสามารถสร้างสิ่งประดิษฐ์จากที่เก็บรหัสโดยใช้กระบวนการเดียวกันโดยให้คุณได้รักษาสภาพแวดล้อมที่ใช้กระบวนการนั้น ในฐานะที่เป็นกระบวนการนี้จะต้องใช้เวลานานและสภาพแวดล้อมที่สามารถเก็บรักษาไว้ไม่สมบูรณ์เพื่อให้สามารถที่จะสร้างสิ่งประดิษฐ์ในลักษณะเดียวกันที่แน่นอนที่เราเริ่มที่จะเก็บไว้ในสิ่งประดิษฐ์ที่เก็บ
การจัดเก็บแยกจากCode RepositoryในArtifact Repositoryเป็นการตัดสินใจออกแบบที่วิศวกร DevOps ทำ บาง บริษัท คือความจำเป็น , แนะนำการใช้พื้นที่เก็บข้อมูลรหัสของพวกเขาเป็นสิ่งประดิษฐ์พื้นที่เก็บข้อมูลได้เป็นอย่างดี มีความต้องการที่แตกต่างกันในแง่ของการที่มีการเข้าถึง , ตรวจสอบ , ขนาดวัตถุ , การติดแท็กวัตถุและขยายขีดความสามารถในแต่ละพื้นที่เก็บข้อมูลและอื่น ๆ ขึ้นอยู่กับสถานการณ์ก็มักจะดีกว่าการใช้ผลิตภัณฑ์ทั้งสองแตกต่างกัน ตัวอย่างเช่นGitที่เก็บจะถูกคัดลอกอย่างครบถ้วนไปยังเครื่องพัฒนาทุกเครื่องและดังนั้นการจัดเก็บสิ่งประดิษฐ์ในที่เก็บรหัสจะเพิ่มขนาดของมันเกินกว่าเหตุผลทั้งหมดแม้ว่าเมื่อเร็ว ๆ นี้มีวิธีที่จะลดสิ่งนี้ การตัดสินใจอีกอย่างคือสิ่งที่จะเก็บ บริษัท บางแห่งจัดเก็บสิ่งประดิษฐ์ขั้นกลางไว้เป็นไฟล์ออบเจกต์แต่ละไฟล์เพื่อเพิ่มความเร็วในการสร้างใหม่ส่วนอื่น ๆ จะเก็บเพียงไบนารีสุดท้าย ไม่ใช่สิ่งประดิษฐ์ทั้งหมดที่มีค่าเดียวกัน สิ่งประดิษฐ์ที่เป็นผลมาจากการสร้างรุ่นอาจมีความต้องการที่แตกต่างจากสิ่งประดิษฐ์ที่เกิดจากการสร้างนักพัฒนา
สิ่งประดิษฐ์ที่พบมากที่สุดคือผลของกระบวนการต่อไปนี้: การกำหนดค่า , กระบวนการเตรียมการผลิต , การรวบรวม , การเชื่อมโยง , ทดสอบอัตโนมัติ , การเก็บ , บรรจุภัณฑ์ , ไฟล์มีเดียการสร้างและการประมวลผล , แฟ้มข้อมูล Generation , เอกสารแยก , การวิเคราะห์รหัส , QAฯลฯ