ข้อมูลเบื้องต้นเกี่ยวกับบิลด์

รายงานปัญหา ดูแหล่งที่มา

ระบบงานเป็นหนึ่งในส่วนสําคัญที่สุดขององค์กรด้านวิศวกรรม เนื่องจากนักพัฒนาแอปแต่ละรายมีปฏิสัมพันธ์กับระบบกันหลายสิบหรือร้อยครั้งต่อวัน ต้องมีระบบบิลด์ที่มีฟีเจอร์อย่างเต็มรูปแบบเพื่อให้นักพัฒนาซอฟต์แวร์ ทํางานได้ในวงกว้าง สําหรับนักพัฒนาซอฟต์แวร์แต่ละราย การรวบรวมโค้ดอาจเป็นเรื่องยุ่งยาก ระบบการสร้างจึงอาจดูซับซ้อนเกินไป แต่ในระดับที่ใหญ่ขึ้น การมีระบบบิลด์จะช่วยจัดการทรัพยากร Dependency ที่แชร์ เช่น การใช้ฐานของโค้ดอื่นหรือทรัพยากรภายนอก เช่น ไลบรารีได้ ระบบสร้างบิลด์จะช่วยให้คุณมีทุกสิ่งที่ต้องใช้ในการสร้างโค้ดก่อนที่จะเริ่มสร้าง นอกจากนี้ ระบบบิลด์จะเพิ่มอัตราความเร็วเมื่อตั้งค่าเพื่อช่วยให้วิศวกรแชร์ทรัพยากรและผลลัพธ์ได้ด้วย

ส่วนนี้จะพูดถึงประวัติศาสตร์และพื้นฐานบางประการในการสร้างระบบที่สร้าง ซึ่งรวมถึงการตัดสินใจออกแบบในการสร้าง Bazel หากคุณคุ้นเคยกับระบบบิวด์ที่ใช้อาร์ติแฟกต์ เช่น Bazel, Buck และ Pants คุณสามารถข้ามส่วนนี้ได้ แต่ควรเขียนภาพรวมเพื่อช่วยให้เข้าใจว่าทําไมระบบบิลด์ที่อาศัยอาร์ติแฟกต์จึงมีประโยชน์ในการปรับขนาด

  • เหตุใดจึงต้องใช้ระบบสร้าง

    หากยังไม่เคยใช้ระบบบิลด์มาก่อน ให้เริ่มที่นี่ หน้านี้จะพูดถึงเหตุผลที่คุณควรใช้ระบบบิลด์ และเหตุผลที่คอมไพเลอร์และสคริปต์บิวด์ไม่ใช่ตัวเลือกที่ดีที่สุดเมื่อองค์กรของคุณเริ่มปรับขนาดเพิ่มเติมจากนักพัฒนาซอฟต์แวร์บางราย

  • ระบบงานที่อิงตามงาน

    หน้านี้พูดถึงระบบงานที่อิงตามงาน (เช่น บริษัท เกม Maven และ Gradle) และความท้าทายบางอย่าง

  • ระบบบิลด์ที่ใช้อาร์ติแฟกต์

    หน้านี้พูดถึงระบบการสร้างที่อิงกับอาร์ติแฟกต์เพื่อตอบสนองต่อจุดที่เป็นปัญหาของระบบการสร้างตามงาน

  • บิลด์ที่เผยแพร่

    หน้านี้จะครอบคลุมบิลด์ที่เผยแพร่หรือบิลด์ที่เรียกใช้นอกเครื่องภายในของคุณ โครงสร้างพื้นฐานที่ต้องใช้ทรัพยากรมากกว่านี้เพื่อแชร์ทรัพยากรและสร้างผลลัพธ์ (และเป็นที่ที่วิซาร์ดเป็นจริงขึ้นมา)

  • การจัดการทรัพยากร Dependency

    หน้านี้จะพูดถึงข้อมูลแทรก Dependency บางส่วนในสเกลใหญ่และกลยุทธ์เพื่อรับมือกับข้อมูลแทรกเหล่านั้น