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