用途:该技能面向大型 monorepo 场景,帮助配置 Bazel、实现远程执行并优化构建性能,适用于企业级代码库。
主要能力:覆盖为 monorepo 搭建 Bazel、配置远程缓存与远程执行、优化构建时间、编写自定义 Bazel 规则、调试构建问题以及迁移到 Bazel。
核心概念:Bazel 架构包含 WORKSPACE.bazel(外部依赖)、.bazelrc(构建配置)、.bazelversion(Bazel 版本)、BUILD.bazel(构建文件),以及 apps、libs、tools 等目录结构。关键概念包括 Target(可构建单元,如库、二进制、测试)、Package(含 BUILD 文件的目录)、Label(目标标识符 //path/to:target)、Rule(定义如何构建目标)、Aspect(横切构建行为)。
使用方式:完整模板库与详细示例位于 references/details.md,需要具体模板时阅读该文件。
最佳实践:应使用细粒度目标以获得更好缓存、固定依赖以保证可复现构建、启用远程缓存共享构建产物、合理使用 visibility 约束架构、按目录编写 BUILD 文件。不应使用 glob 声明依赖(显式更好)、不应提交 bazel-* 目录(加入 .gitignore)、不应跳过 WORKSPACE 设置、不应忽略构建警告。
限制:资料未提供具体安装命令、版本要求、收费信息或性能数据。