發布版本

回報問題 查看原始碼 Nightly · 8.0 . 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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. 滾動式和長期支援版本。

發布分支

每個主要版本在發布時都會成為獨立的開發分支。您可以接收該分支版本的重大錯誤修正,而無須更新至最新的 Bazel 版本。主要版本分支中的其他功能會成為次要版本,而分支中的最高版本則是支援的版本。

每個 Bazel 版本都會搭配一組建議的規則版本,這些規則版本可一起運作,且各分支都具有嚴格的向後相容性。

LTS 版本

LTS 版本是指發布後提供 3 年支援的主要版本 (例如 4.0)。大約每九個月就會發布一個主要版本。

在發布分支上持續進行開發作業,會導致子版本產生。

您可以選擇將專案釘選至主要版本,並在自己的時間內更新至較新的版本。這樣一來,您就能預先查看即將推出的變更內容,並提前進行調整。

滾動式版本

滾動式發布版本會定期從 Bazel 的主要分支中切出。這個發布週期包含持續提供下一個主要 Bazel 版本的預先發布版,並與 Google 內部 Blaze 發布版本保持同步。

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

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

您可以從 GitHub 下載最新的滾動式版本。或者,您也可以設定 Bazelisk 1.9.0 (或更新版本) 使用特定版本名稱或「滾動」ID,以便使用最新的滾動式版本。詳情請參閱 Bazelisk 說明文件

更新版本

  • 如要進一步瞭解如何更新 Bazel 版本,請參閱「更新 Bazel」。
  • 如要進一步瞭解如何為新版 Bazel 提供更新,請參閱「為 Bazel 提供貢獻」。