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

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