การกำหนดเวอร์ชันที่เผยแพร่

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 เลย ฟีเจอร์เพิ่มเติมใน Branch ของเวอร์ชันหลักจะกลายเป็นรุ่นย่อย และเวอร์ชันสูงสุดใน Branch จะเป็นเวอร์ชันที่รองรับ

แต่ละรุ่นของ Bazel จะจับคู่กับรายการเวอร์ชันของกฎที่แนะนำซึ่งทำงานด้วยกันและมีความเข้ากันได้แบบย้อนหลังที่เข้มงวดภายในแต่ละสาขา

รุ่น LTS

รุ่น LTS เป็นเวอร์ชันหลัก (เช่น 4.0) ที่รองรับเป็นเวลา 3 ปีหลังจากการเปิดตัว เวอร์ชันหลักจะเผยแพร่ทุกๆ 9 เดือนโดยประมาณ

การพัฒนาที่ดำเนินอยู่ใน Branch ของรุ่นจะทําให้มีเวอร์ชันย่อย

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

การเปิดตัวทีละเวอร์ชัน

การเผยแพร่อย่างต่อเนื่องจะตัดจากสาขาหลักของ Bazel เป็นระยะๆ รอบการเผยแพร่นี้จะมีการนำส่งตัวอย่างรุ่นหลักอย่างต่อเนื่องของ Bazel เวอร์ชันหลักถัดไป ซึ่งซิงค์กับรุ่นภายในของ Blaze ของ Google

โปรดทราบว่ารุ่นที่เปิดตัวใหม่อาจมีการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบซึ่งใช้งานร่วมกับรุ่นก่อนหน้าไม่ได้

การเปิดตัวรุ่นต่างๆ ได้รับการทดสอบในชุดทดสอบของ Bazel ใน Bazel CI และชุดทดสอบภายในของ Google โดยอาจใช้แฟล็กที่ใช้ร่วมกันไม่ได้เพื่อแบ่งเบาภาระในการย้ายข้อมูลไปยังฟังก์ชันการทำงานใหม่ แต่ลักษณะการทำงานเริ่มต้นอาจเปลี่ยนไปเมื่อมีการเปิดตัวรุ่นใดก็ได้ (คุณยังสามารถใช้การเปิดตัวทีละรุ่นเพื่อดูตัวอย่าง LTS เวอร์ชันถัดไปได้ด้วย ตัวอย่างเช่น 5.0.0-pre.20210604.6 อิงตามตัวเลือกผู้สมัครในวันที่ 04-06-2021 และแสดงถึงอีกเป้าหมายหนึ่งสำหรับการเปิดตัวรุ่น 5.0 LTS)

คุณจะดาวน์โหลดรุ่นเปิดตัวล่าสุดได้จาก GitHub หรือจะตั้งค่า Bazelisk v1.9.0 (หรือใหม่กว่า) เพื่อใช้ชื่อเวอร์ชันที่เฉพาะเจาะจงหรือตัวระบุ "Roll" ซึ่งใช้รุ่นล่าสุด ดูรายละเอียดเพิ่มเติมได้ที่เอกสารประกอบของ Bazelisk

การอัปเดตเวอร์ชัน