关于 bazel-build-optimization
面向大型单体仓库的 Bazel 实践指南,帮助工程师配置构建、缩短构建时间、编写规则、排查问题并迁移到 Bazel。
主要功能
- 01单体仓库 Bazel 配置指导
- 02远程缓存与执行配置
- 03构建耗时优化实践
- 04自定义规则与构建问题排查
- 05迁移指导与详细模板
适用场景
- 01在单体仓库中配置 Bazel
- 02通过远程缓存共享构建产物
- 03排查缓慢或失败的构建
- 04将项目迁移到 Bazel
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ wshobson/ agents --skill bazel-build-optimization安装后在 Claude Code 中输入/bazel-build-optimization确认已加载。
附带文件references/details.md
详细介绍
Bazel 构建优化
大规模 monorepo 中 Bazel 的生产实践模式。
何时使用本技能
- 为 monorepo 设置 Bazel
- 配置远程缓存/执行
- 优化构建时间
- 编写自定义 Bazel 规则
- 调试构建问题
- 迁移到 Bazel
核心概念
1. Bazel 架构
workspace/
├── WORKSPACE.bazel # External dependencies
├── .bazelrc # Build configurations
├── .bazelversion # Bazel version
├── BUILD.bazel # Root build file
├── apps/
│ └── web/
│ └── BUILD.bazel
├── libs/
│ └── utils/
│ └── BUILD.bazel
└── tools/
└── bazel/
└── rules/
2. 关键概念
| 概念 | 说明 |
|---|---|
| Target | 可构建单元(库、二进制、测试) |
| Package | 包含 BUILD 文件的目录 |
| Label | 目标标识符 //path/to:target |
| Rule | 定义如何构建目标 |
| Aspect | 横切构建行为 |
模板与详细示例
完整的模板库与详细示例位于 references/details.md。需要具体模板时请阅读该文件。
最佳实践
推荐做法
- 使用细粒度目标 - 更好的缓存
- 锁定依赖 - 可复现的构建
- 启用远程缓存 - 共享构建产物
- 明智地使用 visibility - 强制架构约束
- 为每个目录编写 BUILD 文件 - 标准约定
避免做法
- 不要对依赖使用 glob - 显式更好
- 不要提交 bazel-* 目录 - 添加到 .gitignore
- 不要跳过 WORKSPACE 设置 - 构建的基础
- 不要忽略构建警告 - 技术债
评论
支持 Markdown