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

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

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

  • ทำไมต้องเป็นระบบบิลด์

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

  • ระบบบิลด์ตามงาน

    หน้านี้กล่าวถึงระบบบิลด์ตามงาน (เช่น Make, Maven และ Gradle) รวมถึงความท้าทายบางประการ

  • ระบบบิลด์จากอาร์ติแฟกต์

    หน้านี้กล่าวถึงระบบบิลด์ที่อิงตามอาร์ติแฟกต์ซึ่งจัดการกับปัญหาของระบบบิลด์ที่อิงตามงาน

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

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

  • การจัดการการขึ้นต่อกัน

    หน้านี้จะครอบคลุมความซับซ้อนบางประการของทรัพยากร Dependency ในภาพรวมและกลยุทธ์ต่างๆ ในการจัดการกับภาวะแทรกซ้อนเหล่านั้น