Orbit
عرض سجلات البناء
Every Orbit deployment keeps its complete build log, plus a structured breakdown of what the build did and how long each phase took. This guide covers where to find the log, how to read the…
كل نشر في Orbit يحتفظ بسجل البناء الكامل الخاص به، بالإضافة إلى تفصيل منظم لما فعله البناء والمدة التي استغرقتها كل مرحلة. يغطي هذا الدليل مكان العثور على السجل وكيفية قراءة البيانات الوصفية المحيطة والتحليل الذي يجريه Orbit على السجل من أجلك.
عرض السجل للنشر الأخير
افتح المشروع في Orbit. توضح لوحة Latest build في علامة التبويب Overview السجل الخاص بآخر نشر. إذا كان البناء قيد التشغيل الآن، فإن السجل يتدفق بشكل مباشر، سطراً تلو الآخر، كما ينتجه وكيل البناء.
انقر على Full details لفتح صفحة تفاصيل النشر الكاملة.

عرض السجلات لنشر معين
- افتح مشروعك في Orbit.
- افتح علامة التبويب Deployments.
- انقر على أي نشر لفتح صفحة تفاصيله.
- يوجد سجل البناء الكامل على تلك الصفحة.
تحتوي قائمة Recent deployments في علامة التبويب Overview على رابط View logs في كل صف يؤدي إلى نفس المكان. تحتوي نشرات المعاينة على نفس الرابط في قسم Preview deployments.
مراحل البناء
تقسم صفحة التفاصيل البناء إلى مراحل مسماة مع مدة لكل منها:
| المرحلة | ما يحدث |
|---|---|
| Clone | جلب مستودعك عند الالتزام المنشور |
| Cache restore | فك ضغط node_modules المخزن مؤقتاً، في الخطط التي تحتوي على ذاكرة تخزين مؤقت للبناء |
| Install | تشغيل أمر التثبيت |
| Cache save | إعادة ضغط node_modules للبناء التالي |
| Build | تشغيل أمر البناء |
| Upload | حزم دليل الإخراج وتخزين القطعة |
| Done | القطعة أمام حركة المرور |
هذه هي أسرع طريقة للإجابة على "لماذا كان هذا البناء بطيئاً". تعني مرحلة Install طويلة مع شارة Cold build أن الذاكرة المؤقتة تم فقدانها. تعني مرحلة Build طويلة أن البناء الخاص بك أصبح أبطأ.
بيانات وصفية للبناء
تعرض البطاقات فوق السجل الحقائق المتعلقة بالنشر:
| البطاقة | ما تعرضه |
|---|---|
| Status | Queued أو Building أو Deploying أو Succeeded أو Failed أو Cancelled أو Rolled back أو Awaiting approval |
| Commit | الالتزام الذي بناه هذا النشر، مع ارتباط بمزود الخدمة |
| Branch | فرع git الذي جاء منه |
| Author | من دفع الالتزام |
| Build time | إجمالي الوقت الفعلي، مع تقييم Fast أو Normal أو Slow مقابل سجلك الخاص |
| Artifact | حجم الإخراج المعبأ، مع رابط تحميل |
| Framework | الإطار الذي كتشفه Orbit |
| Package manager | npm أو yarn أو pnpm، مكتشفة من ملف lockfile الخاص بك |
| Build cache | Cache hit أو Cold build |
| Build host | أي مضيف بناء قام بتشغيله |
| Queue position | مكانك في قائمة الانتظار، بينما النشر لا يزال في قائمة الانتظار |
| Pull request | رقم PR، لنشر معاينة |
| Health score | درجة من 100 مع الخصومات المدرجة |
التحليل الذي يجريه Orbit على السجل
صفحة التفاصيل ليست مجرد تفريغ نصي. يحلل Orbit السجل ويسطح ما يهم.
- Build timeline مع مدة كل مرحلة.
- Slow build detected عندما يكون البناء بطيئاً بشكل ملحوظ عن متوسطك، مع النسبة المئوية والوقت النموذجي من آخر 10 بناءات.
- TypeScript errors، مستخرجة ومعدودة، عندما فشل البناء في فحص النوع.
- Build analysis لبناءات Next.js: أحجام لكل مسار، أول تحميل JS، وعدد المسارات الثابتة والديناميكية و ISR.
- Bundle regression تحذيرات عندما ينمو أول تحميل JS للمسار أكثر من 20% مقابل النشر السابق، أو ينمو حزمة JS المشتركة.
- نتائج npm audit المحللة مباشرة من إخراج التثبيت، موجزة حسب الخطورة.
- Security headers audit محسوبة من 60 نقطة.
- نتائج Smoke test، إذا قمت بتكوين مسارات اختبار الدخان.
- Performance budgets تم تجاوزها، إذا قمت بتعيين الميزانيات.
- Build optimization advisor، يسرد التغييرات الملموسة مع توفير حجم مقدر، مرتبة حسب التأثير.
- Real user metrics، صفقات Core Web Vitals بنسبة p75 المسجلة بينما كان هذا النشر نشطاً.
متغيرات البيئة التي رآها البناء بالفعل
تسرد صفحة التفاصيل مفاتيح متغيرات البيئة التي تم حقنها في وقت البناء، وتقارنها مع إعدادك الحالي: مضافة أو متغيرة أو محذوفة أو بدون تغيير. جاءت المفاتيح الفيروزية من تجاوز خاص بالبيئة، والمفاتيح الرمادية من مستوى المشروع.
لا يتم أبداً تخزين القيم أو عرضها. تمرير المؤشر فوق مفتاح يعطيك بصمة SHA-256، وهي كافية للتأكد من أن بيئتين لهما نفس القيمة دون الكشف عنها.
هذا الفرق هو أسرع طريقة للإجابة على "هل دخل تغيير متغير env الخاص بي فعلاً إلى البناء". إذا كان النشر أقدم من التغيير، يقول Orbit ذلك مع إشعار Environment variables updated since this deployment ويذكرك أن التغيير لن يسري مفعوله حتى تعيد النشر.
مقارنة نشرتين
انقر على Compare على نشر لمقارنته مع النشر السابق: وقت البناء، حجم القطعة، حالة الذاكرة المؤقتة، الإطار، وفرق القطعة على مستوى الملف. هذا هو أسرع طريق إلى "ما الذي تغير بالفعل" عندما يتصرف النشر بشكل مختلف عن السابق.
عند فشل البناء
تتحول بطاقة الحالة إلى Failed ويعرض السجل حيث توقف. فوق السجل، يضيف Orbit ملخص فشل مصنف مع إصلاح مقترح. تشمل الفئات المعترف بها نفاد الذاكرة وخطأ الترجمة وفشل الاختبار وخطأ lint وخطأ التثبيت وخطأ الشبكة والمهلة الزمنية، ويطابق Orbit أنماطاً محددة مثل وحدة مفقودة وتضارب ERESOLVE في المشروع الفرعي وكود خطأ TypeScript وقرص بناء ممتلئ وحزمة 404 وملف lockfile قديم.
هناك أيضاً زر Get AI diagnosis، الذي يقرأ آخر 120 سطراً من السجل جنباً إلى جنب مع الإطار المكتشف وفئة الفشل ويرجع شرحاً بلغة عادية.
يتم تسمية تشخيص الذكاء الاصطناعي AI-generated, verify before acting لسبب ما. إنه جيد جداً في إشارة المؤشر على السطر الصحيح من السجل، وليس موثوقاً بشأن قاعدة الكود الخاصة بك. اقرأ سطر السجل الذي يشير إليه قبل أن تغير أي شيء.
إعادة محاولة بناء فاشل
على صفحة تفاصيل النشر، انقر على Retry build لإعادة تشغيل نفس الالتزام دون دفع واحد جديد. يصلح هذا الأعطال العابرة مثل خطأ شبكة أثناء التثبيت.
إذا كنت تشك في وجود اعتماد ذاكرة مؤقتة قديم، استخدم More retry options، ثم Retry with cleared cache، الذي يحذف ذاكرة التخزين المؤقت للبناء قبل إعادة المحاولة.
يوجد إرشاد كامل خاص بكل فشل في استكشاف أخطاء البناء الفاشل.
إلغاء بناء قيد التشغيل
انقر على Cancel بينما يعمل البناء.
يؤدي الإلغاء إلى إنهاء جهاز البناء على الفور ولا يمكن التراجع عنه. يتم تسجيل النشر باسم Cancelled، والنشر المنشور سابقاً يستمر في توفير حركة المرور، لذا فإن الإلغاء لا يؤدي أبداً إلى إبطال موقعك. لاحظ أن دفع التزام جديد إلى نفس الفرع أثناء تشغيل البناء يلغي البناء المعلق تلقائياً، لذا فإن النشر الملغى متبوعاً بواحد قيد التشغيل أمر طبيعي.
تحميل القطعة
يحتفظ كل نشر ناجح بإخراجه المعبأ. انقر على Download على بطاقة Artifact لسحب الحزمة الدقيقة التي تم توفيرها. هناك أيضاً متصفح قطعة للتفتيش عن المحتويات دون تحميل كل شيء.
يتم تعيين المدة التي يتم فيها الاحتفاظ بالقطع في Settings، ضمن Artifact retention: عدد القطع الناجحة المراد الاحتفاظ بها لكل بيئة، من 10 إلى 500، بافتراضي 50. يتم حذف القطع الأقدم يومياً. يتم الاحتفاظ بقطعة النشر المنشور حالياً دائماً، بغض النظر عن الإعداد.
الاحتفاظ بالقطعة هو ما يجعل الرجوع ممكناً. تعيينه منخفضاً جداً يقصر مدى رجوعك للخلف في نشر سيء دون إعادة بناء. إذا كنت تنشر عدة مرات في اليوم، فارفعه بدلاً من خفضه.