發布版本

回報問題 查看來源

Bazel 4.0 以上版本支援兩種測試群組:長期支援 (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 版本都會與建議規則版本清單配對,這些版本可以共同運作,且每個分支版本中都有嚴格的回溯相容性。

LTS 版本

LTS 版本是在發布後 3 年內支援的主要版本 (例如 4.0)。主要版本大約每九個月發布一次。

發布分支版本持續開發會產生子版本。

您可以選擇將專案固定為主要版本,並視需求更新至較新的版本。這可讓您預覽近期異動,並事先調整。

滾動式版本

滾動式發布會定期從 Bazel 的主要分支版本中移除。這個版本的更新頻率涉及持續推送下一個主要 Bazel 版本的預覽版本,而這個版本會與 Google 的內部 Blaze 版本保持同步。

請注意,新的滾動式版本可能包含與先前版本不相容的破壞性變更。

在 Bazel CI 的測試套件和 Google 的內部測試套件上,測試滾動式發布。不相容的標記可能會用於減輕遷移至新功能的負擔,但預設行為可能會隨著任何滾動式版本而改變。(您也可以使用滾動式版本預覽下一個 LTS 版本。舉例來說,5.0.0-pre.20210604.6 以 2021-06-04 的候選版本為基礎,代表邁向 5.0 LTS 版本的里程碑。

您可以從 GitHub 下載最新的滾動式版本。或者,您可以設定 Bazelisk v1.9.0 (或之後版本) 以使用特定版本名稱或「滾動」ID,這類名稱會使用最新的滾動式版本。詳情請參閱 Bazelisk 說明文件

更新版本

  • 如要進一步瞭解如何更新 Bazel 版本,請參閱更新 Bazel
  • 如要進一步瞭解如何提交新 Bazel 版本的更新,請參閱提供給 Bazel 的說明。