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