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 的里程碑
release.)
您可以從 GitHub 下載最新的滾動式版本。另外,您也可以設定 Bazelisk 1.9.0 版 (或更新版本) 使用特定版本名稱,或 「滾動」 ID,使用最新的滾動式版本如要 請參閱 Bazelisk 說明文件。
更新版本
- 如要進一步瞭解如何更新 Bazel 版本,請參閱「更新 Bazel」一文。
- 如要進一步瞭解如何為新版 Bazel 提供更新,請參閱「為 Bazel 提供貢獻」。