Bazel 4.0 ขึ้นไปรองรับแทร็กที่เผยแพร่ 2 รายการ ได้แก่ รุ่นที่รองรับระยะยาว (LTS) และรุ่นที่เผยแพร่ต่อเนื่อง หน้านี้ครอบคลุมการกำหนดเวอร์ชันใน Bazel, ประเภทของรุ่น และประโยชน์ของรุ่นเหล่านั้นสำหรับผู้ใช้และผู้มีส่วนร่วมของ Bazel
ทำความเข้าใจการกำหนดเวอร์ชันใน Bazel
Bazel ใช้รูปแบบการกำหนดเวอร์ชันทางอรรถศาสตร์ major.minor.patch
- รุ่นหลักประกอบด้วยฟีเจอร์ที่เข้ากันไม่ได้กับรุ่นก่อนหน้า
- รุ่นย่อยประกอบด้วยฟีเจอร์ใหม่ที่เข้ากันได้กับรุ่นก่อนหน้า
- รุ่นแพตช์ประกอบด้วยการเปลี่ยนแปลงเล็กน้อยและการแก้ไขข้อบกพร่อง
ตัวอย่างเช่น การใช้เวอร์ชัน 3.5.1 รุ่นใหม่ของแต่ละประเภทจะส่งผลให้ได้หมายเลขเวอร์ชันต่อไปนี้
- หลัก: 4.0
- ย่อย: 3.6
- แพตช์: 3.5.2
วงจรการเผยแพร่ของ Bazel
Bazel เผยแพร่รุ่นที่เผยแพร่ต่อเนื่องอย่างสม่ำเสมอ ทุกเวอร์ชันหลักจะเป็นรุ่น LTS คุณสามารถเลือกที่จะติดตามจังหวะการเผยแพร่รุ่นใดก็ได้ ไม่ว่าจะอัปเดตจากรุ่น LTS หนึ่งไปยังรุ่นถัดไป หรืออัปเดตเมื่อมีการเผยแพร่เวอร์ชันย่อยแต่ละเวอร์ชัน
รูปภาพแสดงทั้งรุ่นที่เผยแพร่ต่อเนื่องและรุ่น LTS รวมถึงการรองรับที่คาดไว้สำหรับแต่ละรุ่น

รูปที่ 1 รุ่นที่เผยแพร่ต่อเนื่องและรุ่น LTS
สาขาที่เผยแพร่
แต่ละเวอร์ชันหลักจะกลายเป็นสาขาการพัฒนาแยกต่างหากเมื่อเผยแพร่ คุณสามารถรับการแก้ไขข้อบกพร่องร้ายแรงในสาขานั้นได้โดยไม่ต้องอัปเดตเป็นรุ่น Bazel ล่าสุด ฟีเจอร์เพิ่มเติมในสาขาเวอร์ชันหลักจะกลายเป็นรุ่นย่อย และเวอร์ชันสูงสุดในสาขาจะเป็นเวอร์ชันที่รองรับ
รุ่น Bazel แต่ละรุ่นจะจับคู่กับรายการเวอร์ชันกฎที่แนะนำซึ่งทำงานร่วมกันได้ และมีความเข้ากันได้แบบย้อนหลังอย่างเข้มงวดภายในแต่ละ Branch
รุ่น LTS
รุ่น LTS คือเวอร์ชันหลัก (เช่น 4.0) ที่รองรับเป็นเวลา 3 ปีหลังจากการเผยแพร่ เวอร์ชันหลักจะเผยแพร่ทุกๆ 9 เดือนโดยประมาณ
การพัฒนาอย่างต่อเนื่องใน Branch ที่เผยแพร่จะส่งผลให้เกิดเวอร์ชันย่อย
คุณสามารถเลือกปักหมุดโปรเจ็กต์ไว้กับเวอร์ชันหลักและอัปเดตเป็นเวอร์ชันใหม่กว่าได้ตามเวลาที่สะดวก ซึ่งจะช่วยให้คุณมีเวลาดูตัวอย่างการเปลี่ยนแปลงที่จะเกิดขึ้นและปรับตัวให้เข้ากับการเปลี่ยนแปลงเหล่านั้นล่วงหน้า
รุ่นที่เผยแพร่ต่อเนื่อง
รุ่นที่เผยแพร่ต่อเนื่องจะถูกตัดออกจากสาขาหลักของ Bazel เป็นระยะๆ จังหวะการเผยแพร่รุ่นนี้เกี่ยวข้องกับการส่งมอบอย่างต่อเนื่องของรุ่นตัวอย่างของ Bazel เวอร์ชันหลักถัดไป ซึ่งจะซิงค์กับรุ่น Blaze ภายในของ Google
โปรดทราบว่ารุ่นที่เผยแพร่ต่อเนื่องรุ่นใหม่อาจมีการเปลี่ยนแปลงที่ทำให้เกิดข้อขัดข้องซึ่งเข้ากันไม่ได้กับรุ่นก่อนหน้า
รุ่นที่เผยแพร่ต่อเนื่องได้รับการทดสอบในชุดการทดสอบของ Bazel ใน Bazel CI และชุดการทดสอบภายในของ Google คุณอาจใช้แฟล็กที่ไม่เข้ากันเพื่อลดภาระในการย้ายข้อมูลไปยังฟังก์ชันการทำงานใหม่ แต่ลักษณะการทำงานเริ่มต้นอาจเปลี่ยนแปลงไปเมื่อมีการเผยแพร่รุ่นที่เผยแพร่ต่อเนื่อง (คุณยังใช้รุ่นที่เผยแพร่ต่อเนื่องเพื่อดูตัวอย่างเวอร์ชัน LTS ถัดไปได้ด้วย เช่น 5.0.0-pre.20210604.6 อิงตามรุ่นที่ตัดออกในวันที่ 2021-06-04 และแสดงถึงเหตุการณ์สำคัญในการเผยแพร่รุ่น 5.0 LTS)
คุณสามารถดาวน์โหลดรุ่นที่เผยแพร่ต่อเนื่องล่าสุดจาก GitHub หรือจะตั้งค่า Bazelisk v1.9.0 (ขึ้นไป) ให้ใช้ชื่อเวอร์ชันที่เฉพาะเจาะจงหรือตัวระบุ “rolling” ซึ่งใช้รุ่นที่เผยแพร่ต่อเนื่องล่าสุดก็ได้ ดูรายละเอียดเพิ่มเติมได้ในเอกสารประกอบของ Bazelisk
การอัปเดตเวอร์ชัน
- ดูข้อมูลเพิ่มเติมเกี่ยวกับการอัปเดตเวอร์ชัน Bazel ได้ที่ การอัปเดต Bazel
- ดูข้อมูลเพิ่มเติมเกี่ยวกับการมีส่วนร่วมในการอัปเดต Bazel รุ่นใหม่ได้ที่ การมีส่วนร่วมใน Bazel