技能 bazel-build-optimization
📦

bazel-build-optimization

安全

優化 Bazel 建置效能

也可從以下取得: wshobson

在大型單一回購(monorepo)中,Bazel 建置可能會緩慢且複雜。此技能提供經證實的模式,用於遠端快取、平行執行和自訂規則,大幅減少建置時間。

支援: Claude Codex Code(CC)
🥉 75 青銅
1

下載技能 ZIP

2

在 Claude 中上傳

前往 設定 → 功能 → 技能 → 上傳技能

3

開啟並開始使用

測試它

正在使用「bazel-build-optimization」。 幫我為帶有外部相依項目的 Python 專案設定 Bazel

預期結果:

這是 Python 的基本 WORKSPACE.bazel 配置:

```python
workspace(name = "myproject")

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
name = "rules_python",
sha256 = "...",
strip_prefix = "rules_python-0.27.0",
url = "https://github.com/bazelbuild/rules_python/releases/download/0.27.0/rules_python-0.27.0.tar.gz",
)

load("@rules_python//python:repositories.bzl", "py_repositories")
py_repositories()
```

然後建立帶有 py_library 和 py_test 規則的 BUILD.bazel 檔案。

正在使用「bazel-build-optimization」。 如何配置遠端執行?

預期結果:

將此添加到您的 .bazelrc 以進行遠端執行:

```bash
build:remote-exec --remote_executor=grpcs://remote.example.com
build:remote-exec --remote_instance_name=projects/myproject/instances/default
build:remote-exec --jobs=500
```

安全提示:
- 對遠端端點使用 TLS
- 使用 OAuth 或憑證進行身份驗證
- 在啟用執行之前先從唯讀遠端快取開始

安全審計

安全
v1 • 2/25/2026

Static analysis detected 36 potential issues (external_commands, network, filesystem patterns), but all are false positives. The skill contains documentation and templates for Bazel build optimization with example commands and configuration snippets - no actual executable code with security implications. URLs are legitimate documentation links, filesystem references are standard Bazel cache paths, and cryptographic mentions are SHA256 checksums for download verification.

1
已掃描檔案
400
分析行數
0
發現項
1
審計總數
未發現安全問題
審計者: claude

品質評分

38
架構
100
可維護性
87
內容
50
社群
100
安全
100
規範符合性

你能建構什麼

為 CI/CD 管道設定遠端快取

配置帶有遠端快取的 Bazel,在 CI 執行器之間共享建置產物,將建置時間從數小時減少到數分鐘。

優化大型 TypeScript monorepo

應用最佳實踐來組織 BUILD 檔案、啟用平行執行和配置磁碟快取。

為 Docker 建立自訂建置規則

撰寫自訂 Bazel 規則,作為建置圖表的一部分來建置 Docker 映像,帶有適當的相依追蹤。

試試這些提示

基本 Bazel 設定
幫我為新的 monorepo 設定 Bazel。我需要用 JavaScript 和 Python 的規則配置 WORKSPACE.bazel。有哪些基本配置?
啟用遠端快取
我想為我們的 Bazel 建置設定遠端快取。我們使用 Google Cloud。請顯示所需的 .bazelrc 配置和任何安全考量。
撰寫自訂規則
建立一個自訂 Bazel 規則來建置 Docker 映像。該規則應接受 Dockerfile、基礎映像和層檔案作為輸入。
效能分析和優化建置
我們的 Bazel 建置需要 30 分鐘。幫我使用 bazel build --profile 分析並找出最慢的操作。我應該先嘗試哪些優化?

最佳實務

  • 使用細粒度目標而不是大型 glob 模式以獲得更好的增量建置
  • 盡早啟用遠端快取 - 它提供最大的效能提升
  • 在 WORKSPACE 中固定相依版本以確保可重複的建置

避免

  • 對 srcs 使用 glob(['**/*.py']) - 會導致不必要的重新建置
  • 跳過 WORKSPACE 設定 - 導致不一致的相依解析
  • 忽略建置警告 - 小問題會變成技術債

常見問題

此技能會安裝 Bazel 嗎?
不,Bazel 必須預先安裝在您的系統上。此技能協助您在安裝 Bazel 後配置和優化它。
我可以將此用於非 Bazel 建置系統嗎?
不,此技能專門針對 Bazel。它涵蓋 WORKSPACE、BUILD 檔案、.bazelrc 和 Bazel 特定概念。
我可以節省多少建置時間?
使用遠端快取時,團隊通常在第一次建置後看到建置時間減少 50-90%。對於大型程式碼庫,遠端執行可以提供更大的改進。
遠端快取安全嗎?
是的,當正確配置 TLS 和身份驗證時是安全的。先從唯讀快取開始以驗證安全性,然後再啟用寫入存取。
這能協助遷移到 Bazel 嗎?
是的,此技能包含從其他建置系統遷移到 Bazel 的指導,以及設定初始 WORKSPACE 配置。
支援哪些語言?
此技能涵蓋 JavaScript/TypeScript、Python、Java、C++ 和 Docker。它顯示如何為每個語言生態系統配置規則。

開發者詳情

檔案結構

📄 SKILL.md