bazel-build-optimization
Otimizar o Desempenho de Build do Bazel
Também disponível em: wshobson
Builds do Bazel em monorepos grandes podem ser lentos e complexos. Esta skill fornece padrões comprovados para cache remoto, execução paralela e regras personalizadas para reduzir dramaticamente os tempos de build.
Baixar o ZIP da skill
Upload no Claude
Vá em Configurações → Capacidades → Skills → Upload skill
Ative e comece a usar
Testar
A utilizar "bazel-build-optimization". Ajude-me a configurar o Bazel para um projeto Python com dependências externas
Resultado esperado:
Aqui está uma configuração básica do WORKSPACE.bazel para Python:
```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()
```
Em seguida, crie um arquivo BUILD.bazel com regras py_library e py_test.
A utilizar "bazel-build-optimization". Como configuro a execução remota?
Resultado esperado:
Adicione isto ao seu .bazelrc para execução remota:
```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
```
Dicas de segurança:
- Use TLS para endpoints remotos
- Autentique com OAuth ou certificados
- Comece com cache remoto somente leitura antes de habilitar a execução
Auditoria de Segurança
SeguroStatic 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.
Pontuação de qualidade
O Que Você Pode Construir
Configurar cache remoto para pipelines CI/CD
Configure o Bazel com cache remoto para compartilhar artefatos de build entre runners de CI e reduzir tempos de build de horas para minutos.
Otimizar um monorepo TypeScript grande
Aplique as melhores práticas para organizar arquivos BUILD, habilitar execução paralela e configurar cache em disco.
Criar regras personalizadas para Docker
Escreva uma regra personalizada do Bazel para construir imagens Docker como parte do grafo de build com rastreamento adequado de dependências.
Tente Estes Prompts
Ajude-me a configurar o Bazel para um novo monorepo. Preciso configurar o WORKSPACE.bazel com regras para JavaScript e Python. Quais são as configurações essenciais?
Quero configurar o cache remoto para nossos builds do Bazel. Usamos Google Cloud. Mostre-me a configuração .bazelrc necessária e quaisquer considerações de segurança.
Crie uma regra personalizada do Bazel que construa uma imagem Docker. A regra deve aceitar um Dockerfile, imagem base e arquivos de camada como entradas.
Nosso build do Bazel leva 30 minutos. Ajude-me a perfilá-lo usando bazel build --profile e identificar as ações mais lentas. Quais otimizações devo tentar primeiro?
Melhores Práticas
- Use alvos granulares em vez de padrões glob grandes para builds incrementais melhores
- Habilite o cache remoto cedo - ele fornece os maiores ganhos de desempenho
- Fixe versões de dependências no WORKSPACE para garantir builds reproduzíveis
Evitar
- Usar glob(['**/*.py']) para srcs - causa rebuilds desnecessários
- Pular a configuração do WORKSPACE - leva à resolução inconsistente de dependências
- Ignorar avisos de build - pequenos problemas tornam-se dívida técnica
Perguntas Frequentes
Esta skill instala o Bazel?
Posso usar isto para sistemas de build não-Bazel?
Quanto tempo de build posso economizar?
O cache remoto é seguro?
Isto pode ajudar na migração para o Bazel?
Quais linguagens são suportadas?
Detalhes do Desenvolvedor
Autor
sickn33Licença
MIT
Repositório
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/bazel-build-optimizationReferência
main
Estrutura de arquivos
📄 SKILL.md