mcpField
B
bazel-build-optimization

bazel-build-optimization

github.com/wshobson开发41.9k10.4k 次安装2 周前更新
代码仓库

关于 bazel-build-optimization

面向大型单体仓库的 Bazel 实践指南,帮助工程师配置构建、缩短构建时间、编写规则、排查问题并迁移到 Bazel。

主要功能

  1. 01单体仓库 Bazel 配置指导
  2. 02远程缓存与执行配置
  3. 03构建耗时优化实践
  4. 04自定义规则与构建问题排查
  5. 05迁移指导与详细模板

适用场景

  1. 01在单体仓库中配置 Bazel
  2. 02通过远程缓存共享构建产物
  3. 03排查缓慢或失败的构建
  4. 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