عن المشروع
Rancher Desktop هو تطبيق سطح مكتب مفتوح المصدر يوفر إدارة Kubernetes والحاويات على أنظمة ويندوز وماك ولينكس. المشروع هو تطبيق Electron مكتوب بشكل أساسي بلغة TypeScript، يجمع تقنيات متعددة في أداة واحدة متماسكة. يتضمن أداة سطر أوامر تسمى rdctl مكتوبة بلغة Go.
ملف README موجه للمطورين الذين يعملون على Rancher Desktop نفسه. المعلومات الموجهة للمستخدمين موجودة في rancherdesktop.io، والوثائق الموجهة للمستخدمين في docs.rancherdesktop.io.
سير عمل التطوير:
- معظم المهام (بناءات التطوير، التعبئة، اختبارات الوحدات، اختبارات النهاية إلى النهاية) تتم عبر سكربتات yarn؛ توجد بعض الاستثناءات مثل اختبارات BATS.
- إعداد ويندوز متاح في شكلين: جهاز افتراضي من مايكروسوفت ويندوز 10 مع سكربت إعداد PowerShell تلقائي، أو بيئة يدوية باستخدام WSL وScoop وnvm وVisual Studio مع عبء عمل تطوير سطح المكتب باستخدام C++ وWindows SDK، بالإضافة إلى إعداد نهاية الأسطر في git.
- إعداد ماك يستخدم nvm لتثبيت Node 22 وyarn وGo عبر Homebrew. على أجهزة Apple M1، يجب تعيين متغير بيئة M1 قبل تثبيت التبعيات وتشغيل السكربتات.
- إعداد لينكس يتطلب Node.js v22 مع حزم التطوير، وyarn الكلاسيكي، وGo 1.22 أو أحدث، وأدوات C/C++ لـ node-gyp لبناء حزمة ffi-napi.
التشغيل والاختبار:
- yarn dev يشغل نسخة تطوير.
- yarn test يشغل اختبارات الوحدات؛ yarn test:e2e يشغل اختبارات التكامل.
- yarn build وyarn package ينتجان مخرجات البناء في dist/. التجميع المتقاطع غير مدعوم.
التصحيح:
- يمكن تمكين تصحيح Chrome عن بعد باستخدام علامات --remote-debugging-port و--remote-allow-origins على لينكس وماك وويندوز، ثم الوصول إليه عبر Chrome على المنفذ المحلي. يمكن تصحيح الإضافات عن بعد بنفس الطريقة بعد تحميل إضافة.
- يمكن لـ GoLand (وأدوات JetBrains المماثلة) تصحيح بيئة التطوير باستخدام مكون Node.js الإضافي وتكوين تشغيل Node.js يشير إلى scripts/ts-wrapper.js scripts/dev.ts.
بناءات التطوير:
- على ويندوز وماك، كل التزام يؤدي إلى تشغيل GitHub Actions التي ترفع ملفات .exe و.dmg.
- على لينكس، تقوم GitHub Actions بجزء من العملية ويكملها Open Build Service. توجد قنوات تطوير ومستقرة؛ تأتي بناءات التطوير من الفرع الرئيسي وفروع release-*، مع تنسيق إصدارات مثل priority.branch.commit_time.commit. تتوفر تعليمات لإضافة مستودعات تطوير .deb و.rpm وللوصول إلى بناءات AppImage التطويرية.
واجهة برمجة التطبيقات:
- يدعم Rancher Desktop واجهة برمجة تطبيقات HTTP محدودة معرفة في pkg/rancher-desktop/assets/specs/command-api.yaml، مع أمثلة للعملاء في go/src/rdctl. الواجهة في الإصدار 1 لكنها تعتبر داخلية وتجريبية، وقد تتغير دون إشعار.
المساهمة وقراءة إضافية:
- توفر وثيقة CONTRIBUTING.md ودليل docs/development/ وثائق إضافية للمطورين.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.