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

รายงานปัญหา ดูแหล่งที่มา Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

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