Bazel 9 与 Go 单体仓库构建工程专题
官方入口与核心资料
先建立 Bazel 9、Bzlmod、Go 规则与缓存的可信基线
Bazel 官方网站
Bazel 官方产品入口,汇总构建系统、文档、版本和生态信息。
Bazel 官方快速开始
官方入门路径,帮助新项目建立第一个可运行的 Bazel 工作区。
Bazel 9 LTS 发布说明
Bazel 9 官方发布公告,说明 Bzlmod、WORKSPACE 移除和 LTS 方向。
rules_go 官方仓库
官方 Go 规则源码、版本、示例和 go_library、go_binary、go_test 文档入口。
Gazelle 官方仓库
Go 与 protobuf 的 BUILD 文件生成器,支持依赖发现和规则维护。
rules_go 核心 Go 规则
官方说明 go_library、go_binary、go_test、工具链、CGO 与构建模式。
Bazel 远程缓存
官方远程缓存文档,说明 action cache、CAS、读写模式和缓存命中排查。
rules_go Bzlmod 入门示例
官方示例使用 MODULE.bazel、rules_go 与 Gazelle 建立基本 Go 项目。
常见问题
回答 Go 仓库迁移 Bazel 9 时最容易混淆的四个问题
Bazel 9 还应该继续使用 WORKSPACE 吗?
不应把 WORKSPACE 作为 Bazel 9 的新项目主路径。Bazel 9 已移除相关旧代码,新的外部依赖应优先使用 Bzlmod;迁移旧仓库时要逐项替换仓库规则并验证生成结果。
rules_go 和 Gazelle 分别解决什么问题?
rules_go 提供 Go 目标、工具链、依赖和测试规则;Gazelle 根据 Go 源码与模块依赖生成或更新 BUILD 文件。前者决定如何构建,后者减少构建描述的维护成本。
Bazel 远程缓存为什么可能命中率很低?
常见原因包括输入文件、工具链、环境变量或 action 参数不稳定,缓存服务配置错误,构建版本不一致,或把不可复现输出写进 action。应先固定工具链和构建参数,再按 action cache 与 CAS 分别排查。
Go 项目要不要一次性全部迁移到 Bazel?
通常不建议一次性重写大型仓库。可以先选择边界清晰的库或服务,用 rules_go、Gazelle 和测试目标建立基线,再逐步接入 protobuf、CGO、跨平台和 CI 缓存,并保留可回滚的构建入口。
相关专题
继续查看相近方向内容
最新文章
-
说明金砖弱网公开产品资料页、包名与开发商核对方法,并介绍版本差异、安卓兼容、权限安全和合规使用边界。321 7分钟前
-
说明painter绘画助手(Infinite Painter)的官网、安卓下载入口、核心绘画能力、系统兼容性和许可边界。214 16分钟前
-
说明软仓公开产品资料页、产品定位、包名与版本核对方法,并介绍安装来源、权限和资源使用边界。328 26分钟前
-
介绍歪歪动漫产品站入口、页面可见的浏览和下载信息,并说明身份核对、内容版权、安装安全与隐私边界。129 40分钟前
-
介绍mifun乐园产品站入口、页面可见的动漫社区与Android下载信息,并梳理隐私政策、权限核对和安全使用边界。260 1小时前
-
介绍90fps画质助手产品站入口、页面可见的高帧率与兼容性说明,并梳理下载核验、账号规则、权限和设备风险边界。439 1小时前
-
介绍 tuozi 工具箱产品站入口、页面可见功能与 Android 兼容声明,并说明下载前核对包名、签名、权限和拼写差异的方法。282 1小时前
-
介绍36漫画产品站入口、页面定位与Android兼容声明,并说明下载来源、安装包身份和内容授权的核对方法。141 1小时前