用途:该技能聚焦大规模 monorepo 中 Bazel 的生产实践,适用于为 monorepo 搭建 Bazel、配置远程缓存/远程执行、优化构建耗时、编写自定义 Bazel 规则、调试构建问题以及从其他构建系统迁移到 Bazel。
主要能力:介绍 Bazel 的基本架构与关键概念。工作区结构包含 WORKSPACE.bazel(外部依赖)、.bazelrc(构建配置)、.bazelversion(Bazel 版本)、根 BUILD.bazel,以及 apps、libs、tools 等目录下各自的 BUILD.bazel。核心概念包括:Target(可构建单元,如库、二进制、测试)、Package(包含 BUILD 文件的目录)、Label(目标标识,如 //path/to:target)、Rule(定义目标如何构建)、Aspect(横切构建行为)。
使用方式:具体的模板库与详细示例位于 references/details.md,需要时可查阅该文件获取完整模板。实践建议包括:使用细粒度目标以获得更好缓存;固定依赖版本以保证可复现构建;启用远程缓存共享构建产物;合理使用 visibility 约束架构;按目录编写 BUILD 文件。
限制与注意事项:不要用 glob 声明依赖,显式声明更佳;不要提交 bazel-* 目录,应加入 .gitignore;不要跳过 WORKSPACE 配置,它是构建的基础;不要忽略构建警告,那会形成技术债。
其他信息:该技能的具体安装命令、收费方式、支持平台与版本要求暂未提供。