版本版本控制

报告问题 查看来源 每晚 · 7.2。 · 7.1敬上 · 7.0 · 6.5 条 · 6.4

Bazel 4.0 及更高版本为两种发布轨道提供支持:长期支持 (LTS) 版本和滚动版本。本页面将介绍 Bazel 中的版本控制, 以及发布给 Bazel 用户和 贡献者。

了解 Bazel 上的版本控制

Bazel 使用 major.minor.patch 语义版本控制方案。

  • 主要版本包含与 先前版本。
  • 次要版本包含新的向后兼容功能。
  • 补丁版本包含次要更改和 bug 修复。

以版本 3.5.1 为例,每种类型的新版本将导致 版本号:

  • 主要:4.0
  • 次要:3.6
  • 补丁:3.5.2

Bazel 的发布周期

Bazel 会持续发布滚动版本。每个主要版本都是一个 LTS 发布。您可以选择采用任一发布频率 - 从一种更新频率 LTS 版本更新到下一个,或随每个次要版本更新。

此图显示了滚动版本和 LTS 版本,以及对 。

路线图

图 1. 滚动版本和 LTS 版本。

发布分支

每个主要版本在发布时都会成为一个单独的开发分支。您可以 可以接收针对该分支严重错误的修复,而无需更新到 运行 Bazel 版本。主要版本分支上的其他功能变为 次要版本,并且分支上的最高版本是受支持的版本。

每个 Bazel 版本都与有效的推荐规则版本列表配对 并且每个分支内都有严格的向后兼容性。

LTS 版本

LTS 版本是支持 3 年的主要版本(如 4.0) 。 主要版本大约每 9 个月发布一次。

对版本分支进行持续开发会产生次要版本。

您可以选择将项目固定到某个主要版本,并更新到较新的版本 自己的版本。这样,您便有时间预览即将发生的更改 以适应这些变化。

滚动版本

滚动版本会定期从 Bazel 的主分支中删除。 这种发布节奏涉及持续交付 下一个主要 Bazel 版本,该版本与 Google 的内部 Blaze 同步 发布。

请注意,新的滚动版本可能包含破坏性更改, 与先前版本不兼容。

在 Bazel CI 的 Bazel 测试套件上测试滚动版本, Google 的内部测试套件。不兼容的标志 过去曾用于减轻迁移到新功能的负担,但默认行为 可能会随着任何滚动版本而发生变化(您还可以使用滚动发布功能 可以预览下一个 LTS 版本。例如,5.0.0-pre.20210604.6 基于 候选版本将于 2021 年 6 月 4 日剪切,代表着实现 5.0 LTS 的一个里程碑 release.)

您可以从以下位置下载最新的滚动版本: GitHub。 或者,您也可以设置 Bazelisk v1.9.0 (或更高版本)来使用特定版本名称或 “rolling”标识符,它使用最新的滚动版本。有关 请参阅 Bazelisk 文档

更新版本

  • 如需详细了解如何更新 Bazel 版本,请参阅 更新 Bazel
  • 如需详细了解如何为新的 Bazel 版本贡献更新,请参阅 为 Bazel 贡献代码