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 版本是主要版本 (例如 4.0),發布後可享有 3 年支援。主要版本大約每九個月發布一次。
在發布分支上持續開發會產生子版本。
您可以選擇將專案固定在主要版本,並在自己的時間更新至較新版本。讓您有時間預覽即將推出的變更,並提前因應。
滾動式發布
系統會定期從 Bazel 的主要分支版本中,推出滾動式發布版本。 這個發布週期會持續發布下一個主要 Bazel 版本的預先發布版,與 Google 內部 Blaze 版本同步。
請注意,新的持續發布版本可能包含與舊版不相容的破壞性變更。
Bazel CI 和 Google 內部測試套件會對滾動式發布版本執行 Bazel 測試套件測試。不相容的標記可用於減輕遷移至新功能的負擔,但預設行為可能會隨著任何發布版本而變更。(您也可以使用滾動式發布,預覽下一個 LTS 版本。舉例來說,5.0.0-pre.20210604.6
是以 2021 年 6 月 4 日的候選版本為基礎,代表 5.0 LTS 版本發布的里程碑。)
您可以從 GitHub 下載最新版。或者,您也可以設定 Bazelisk v1.9.0 (或更新版本),使用特定版本名稱或「rolling」識別碼,後者會使用最新的滾動式發布版本。詳情請參閱 Bazelisk 說明文件。
更新版本
- 如要進一步瞭解如何更新 Bazel 版本,請參閱「更新 Bazel」。
- 如要進一步瞭解如何為新版 Bazel 提供更新,請參閱「為 Bazel 貢獻心力」。