يمكن أن تكون عمليات بناء Bazel في مستودعات الأحجام الكبيرة (monorepos) بطيئة ومعقدة. توفر هذه المهارة أنماطاً مجربة للذاكرة المؤقتة عن بُعد، والتنفيذ المتوازي، وقواعد مخصصة لتقليل أوقات البناء بشكل كبير.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "bazel-build-optimization". ساعدني في إعداد Bazel لمشروع Python مع تبعيات خارجية
النتيجة المتوقعة:
إليك تكوين WORKSPACE.bazel أساسي لـ 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()
```
ثم أنشئ ملف BUILD.bazel مع قواعد py_library و py_test.
استخدام "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 أو الشهادات
- ابدأ بالذاكرة المؤقتة عن بُعد للقراءة فقط قبل تمكين التنفيذ
التدقيق الأمني
آمن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.
درجة الجودة
ماذا يمكنك بناءه
إعداد الذاكرة المؤقتة عن بُعد لأنابيب CI/CD
تكوين Bazel مع الذاكرة المؤقتة عن بُعد لمشاركة عناصر البناء عبر مشغلي CI وتقليل أوقات البناء من ساعات إلى دقائق.
تحسين مستودع أحجام كبير لـ TypeScript
تطبيق أفضل الممارسات لتنظيم ملفات BUILD، وتمكين التنفيذ المتوازي، وتكوين الذاكرة المؤقتة على القرص.
إنشاء قواعد بناء مخصصة لـ Docker
كتابة قاعدة Bazel مخصصة لبناء صور Docker كجزء من رسم البناء مع تتبع مناسب للتبعيات.
جرّب هذه الموجهات
ساعدني في إعداد Bazel لمستودع أحجام كبير جديد. أحتاج إلى تكوين WORKSPACE.bazel مع قواعد لـ JavaScript و Python. ما هي التكوينات الأساسية؟
أريد إعداد ذاكرة مؤقتة عن بُعد لعمليات بناء Bazel الخاصة بنا. نستخدم Google Cloud. أرني تكوين .bazelrc المطلوب وأي اعتبارات أمنية.
أنشئ قاعدة Bazel مخصصة تبني صورة Docker. يجب أن تقبل القاعدة Dockerfile، وصورة أساسية، وملفات طبقات كمدخلات.
بناء Bazel الخاص بنا يستغرق 30 دقيقة. ساعدني في تنميقه باستخدام bazel build --profile وتحديد الإجراءات الأبطأ. ما التحسينات التي يجب تجربتها أولاً؟
أفضل الممارسات
- استخدم أهدافاً دقيقة بدلاً من أنماط glob الكبيرة لبناءات تزايديّة أفضل
- فعّل الذاكرة المؤقتة عن بُعد مبكراً - فهي توفر أكبر مكاسب في الأداء
- ثبّت إصدارات التبعيات في WORKSPACE لضمان بناءات قابلة للتكرار
تجنب
- استخدام glob(['**/*.py']) لـ srcs - يسبب إعادة بناء غير ضرورية
- تخطي إعداد WORKSPACE - يؤدي إلى حل غير متسق للتبعيات
- تجاهل تحذيرات البناء - المشاكل الصغيرة تصبح دَيناً تقنياً
الأسئلة المتكررة
هل تقوم هذه المهارة بتثبيت Bazel؟
هل يمكنني استخدام هذا لأنظمة بناء غير Bazel؟
كم يمكنني توفير من وقت البناء؟
هل الذاكرة المؤقتة عن بُعد آمنة؟
هل يمكن لهذا المساعدة في الانتقال إلى Bazel؟
ما هي اللغات المدعومة؟
تفاصيل المطور
المؤلف
sickn33الترخيص
MIT
المستودع
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/bazel-build-optimizationمرجع
main
بنية الملفات
📄 SKILL.md