bazel-build-optimization
Optimiser les performances de build Bazel
Également disponible depuis: wshobson
Les builds Bazel dans les grands monorepos peuvent être lents et complexes. Cette skill fournit des modèles éprouvés pour la mise en cache à distance, l'exécution parallèle et les règles personnalisées pour réduire considérablement les temps de build.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "bazel-build-optimization". Aidez-moi à configurer Bazel pour un projet Python avec des dépendances externes
Résultat attendu:
Voici une configuration WORKSPACE.bazel de base pour 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()
```
Ensuite, créez un fichier BUILD.bazel avec les règles py_library et py_test.
Utilisation de "bazel-build-optimization". Comment configurer l'exécution à distance ?
Résultat attendu:
Ajoutez ceci à votre .bazelrc pour l'exécution à distance :
```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
```
Conseils de sécurité :
- Utilisez TLS pour les endpoints distants
- Authentifiez-vous avec OAuth ou des certificats
- Commencez par un cache distant en lecture seule avant d'activer l'exécution
Audit de sécurité
SûrStatic 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.
Score de qualité
Ce que vous pouvez construire
Configurer la mise en cache à distance pour les pipelines CI/CD
Configurez Bazel avec la mise en cache à distance pour partager les artefacts de build entre les runners CI et réduire les temps de build de plusieurs heures à quelques minutes.
Optimiser un grand monorepo TypeScript
Appliquez les meilleures pratiques pour organiser les fichiers BUILD, activer l'exécution parallèle et configurer la mise en cache disque.
Créer des règles de build personnalisées pour Docker
Écrivez une règle Bazel personnalisée pour build des images Docker dans le cadre du graphe de build avec un suivi approprié des dépendances.
Essayez ces prompts
Help me set up Bazel for a new monorepo. I need to configure WORKSPACE.bazel with rules for JavaScript and Python. What are the essential configurations?
I want to set up remote caching for our Bazel builds. We use Google Cloud. Show me the .bazelrc configuration needed and any security considerations.
Create a custom Bazel rule that builds a Docker image. The rule should accept a Dockerfile, base image, and layer files as inputs.
Our Bazel build takes 30 minutes. Help me profile it using bazel build --profile and identify the slowest actions. What optimizations should I try first?
Bonnes pratiques
- Utilisez des cibles fines au lieu de motifs glob larges pour de meilleurs builds incrémentiels
- Activez la mise en cache à distance tôt - elle offre les gains de performance les plus importants
- Épinglez les versions des dépendances dans WORKSPACE pour garantir des builds reproductibles
Éviter
- Utiliser glob(['**/*.py']) pour srcs - provoque des rebuilds inutiles
- Ignorer la configuration WORKSPACE - conduit à une résolution incohérente des dépendances
- Ignorer les avertissements de build - les petits problèmes deviennent de la dette technique
Foire aux questions
Est-ce que cette skill installe Bazel ?
Puis-je utiliser ceci pour d'autres systèmes de build non-Bazel ?
Combien de temps de build puis-je économiser ?
La mise en cache à distance est-elle sécurisée ?
Cela peut-il aider à migrer vers Bazel ?
Quels langages sont pris en charge ?
Détails du développeur
Auteur
sickn33Licence
MIT
Dépôt
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/bazel-build-optimizationRéf
main
Structure de fichiers
📄 SKILL.md