Rancher Desktop هو مشروع مفتوح المصدر يجلب Kubernetes وإدارة الحاويات إلى سطح المكتب. يعمل على أنظمة التشغيل Windows وmacOS وLinux. يتعلق هذا الملف التمهيدي بتطوير Rancher Desktop. للحصول على معلومات موجهة للمستخدم حول Rancher Desktop، يرجى الاطلاع على rancherdesktop.io. للحصول على الوثائق الموجهة للمستخدم، يرجى الاطلاع على docs.rancherdesktop.io.
Rancher Desktop هو تطبيق Electron مكتوب بشكل أساسي بلغة TypeScript. فهو يجمع مجموعة متنوعة من التقنيات الأخرى من أجل توفير تطبيق واحد متماسك. يتضمن أداة سطر الأوامر، rdctl
، والتي يتم كتابتها بلغة Go. تتم معظم أنشطة المطورين، مثل تشغيل بناء التطوير، وبناء/تعبئة Rancher Desktop، وتشغيل اختبارات الوحدة، وتشغيل الاختبارات الشاملة، من خلال البرامج النصية yarn
. توجد بعض الاستثناءات، مثل إجراء اختبارات BATS.
هناك خياران للإنشاء من المصدر على Windows: من خلال إعداد Development VM أو إعداد بيئة التطوير اليدوي مع تثبيت Windows موجود.
قم بتنزيل الجهاز الظاهري لتطوير نظام التشغيل Microsoft Windows 10. يجب تنفيذ جميع الخطوات التالية في هذا الجهاز الظاهري.
افتح موجه PowerShell (اضغط على Windows Key + X
وافتح Windows PowerShell
).
قم بتشغيل البرنامج النصي للإعداد التلقائي:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser iwr -useb "https://github.com/rancher-sandbox/rancher-desktop/raw/main/scripts/windows-setup.ps1" | أيكس
أغلق موجه PowerShell المميز.
تأكد من تكوين msbuild_path
و msvs_version
بشكل صحيح في ملف .npmrc
. قم بتشغيل الأوامر التالية لتعيين هذه الخصائص:
npm config set msvs_versionnpm config set msbuild_path
على سبيل المثال لبرنامج Visual Studio 2022:
npm config set msvs_version 2022 npm config set msbuild_path "C:Program FilesMicrosoft Visual Studio2022CommunityMSBuildCurrentBinMSBuild.exe"
إذا تلقيت رسالة خطأ عند محاولة تشغيل npm config set...
، فقم بتشغيل npm config edit
ثم قم بإضافة أسطر مثل
msvs_version=2022 msbuild_path=C:Program Files (x86)Microsoft Visual Studio2022CommunityMSBuildCurrentBinMSBuild.exe
لا تقتبس القيم على الجانب الأيمن من علامة المساواة. ليست هناك حاجة لعلامات الاقتباس، ومن الممكن أن تتعامل معها بعض المعالجات كأجزاء فعلية من المسار، ثم تفشل.
قم بتكوين git
للعمل مع الملفات التي تم إنشاؤها بواسطة Linux وmacos:
git config --global --replace-all core.autocrlf false git config --global --replace-all core.eol lf
إذا وجدت أن اختبارات lint:go
تفشل بشكل غامض، فمن المحتمل أن تكون نهايات الأسطر غير صحيحة.
يمكنك الآن استنساخ المستودع وتشغيل yarn
.
قم بتثبيت نظام Windows الفرعي لنظام Linux (WSL) على جهازك. تجاوز هذه الخطوة إذا كان WSL مثبتًا بالفعل.
افتح موجه PowerShell (اضغط على Windows Key + X
وافتح Windows PowerShell
).
قم بتثبيت Scoop عبر iwr -useb get.scoop.sh | iex
.
قم بتثبيت 7zip وgit وgo وmingw وnvm وunzip عبر scoop install 7zip git go mingw nvm python unzip
. تحقق من إصدار العقدة باستخدام nvm list
. إذا لم يتم تثبيت العقدة v20 أو تعيينها كإصدار حالي، فقم بالتثبيت باستخدام nvm install 20
وقم بتعيينها كإصدار حالي باستخدام nvm use 20.xx.xx
.
قم بتثبيت مدير حزم الغزل عبر npm install --global yarn
قم بتثبيت Visual Studio 2017 أو أعلى. حتى كتابة هذه السطور، يتوفر الإصدار الأحدث على [https://visualstudio.microsoft.com/downloads/]؛ إذا تغير ذلك، يجب أن يجده محرك بحث جيد.
تأكد من تثبيت مكون Windows SDK
. تصف مستندات Visual Studio خطوات تثبيت المكونات. يجب أيضًا تحديد تطوير سطح المكتب باستخدام عبء عمل C++.
قم بتكوين git
للعمل مع الملفات التي تم إنشاؤها بواسطة Linux وmacos:
git config --global --replace-all core.autocrlf false git config --global --replace-all core.eol lf
إذا وجدت أن اختبارات lint:go
تفشل بشكل غامض، فمن المحتمل أن نهايات الأسطر غير صحيحة. 9. تأكد من تكوين msbuild_path
و msvs_version
بشكل صحيح في ملف .npmrc
. قم بتشغيل الأوامر التالية لتعيين هذه الخصائص:
npm config set msvs_versionnpm config set msbuild_path
على سبيل المثال لبرنامج Visual Studio 2022:
npm config set msvs_version 2022 npm config set msbuild_path "C:Program FilesMicrosoft Visual Studio2022CommunityMSBuildCurrentBinMSBuild.exe"
إذا تلقيت رسالة خطأ عند محاولة تشغيل npm config set...
، فقم بتشغيل npm config edit
ثم قم بإضافة أسطر مثل
msvs_version=2022 msbuild_path=C:Program Files (x86)Microsoft Visual Studio2022CommunityMSBuildCurrentBinMSBuild.exe
لا تقتبس القيم على الجانب الأيمن من علامة المساواة. ليست هناك حاجة إليها، ومن الممكن أن يتعامل معها بعض المعالجات كأجزاء فعلية من المسار، ثم يفشل.
يمكنك الآن استنساخ المستودع وتشغيل yarn
.
قم بتثبيت nvm
للحصول على Node.js وnpm:
راجع https://github.com/nvm-sh/nvm#installing-and-updating وقم بتشغيل أمر curl
أو wget
لتثبيت nvm.
لاحظ أن هذا البرنامج النصي يضيف تعليمات برمجية تتعامل مع nvm
إلى ملف تعريف (مثل ~/.bash_profile
). لإضافة إمكانية الوصول إلى nvm
إلى جلسة Shell الحالية، ستحتاج إلى source
هذا الملف.
نقوم حاليًا ببناء Rancher Desktop مع Node 20. لتثبيته، قم بتشغيل:
nvm install 20.17
بعد ذلك، ستحتاج إلى تثبيت مدير حزم الغزل:
npm install --global yarn
ستحتاج أيضًا إلى تشغيل brew install go
إذا لم تقم بتثبيت go.
ثم يمكنك تثبيت التبعيات باستخدام:
yarn
⚠️ هل تعمل على جهاز Mac مزود بشريحة M1؟ستحتاج إلى تعيين متغير البيئة
M1
قبل تثبيت التبعيات وتشغيل أي برامج نصية npm:export M1=1 yarnستحتاج إلى تشغيل
git clean -fdx
لتنظيف أي أصول مخزنة مؤقتًا وإعادة تنزيلها باستخدام القوس الصحيح قبل تشغيلyarn
إذا قمت مسبقًا بتثبيت التبعيات دون تعيينM1
أولاً.
تأكد من تثبيت ما يلي:
Node.js v20. تأكد من تثبيت أي حزم تطوير. على سبيل المثال، في openSUSE Leap 15.6، ستحتاج إلى تثبيت nodejs20
و nodejs20-devel
.
الغزل الكلاسيكي
انتقل إلى 1.22 أو الأحدث.
التبعيات الموضحة في تثبيت مستندات node-gyp
. هذا مطلوب لتثبيت حزمة ffi-napi
npm. تشير هذه المستندات إلى "سلسلة أدوات مترجم C/C++ مناسبة". يمكنك تثبيت gcc
و g++
لهذا الغرض.
ثم يمكنك تثبيت التبعيات باستخدام:
yarn
يمكنك بعد ذلك تشغيل Rancher Desktop كما هو موضح أدناه. قد يفشل في التشغيل الأول - إذا حدث ذلك، فحاول إجراء إعادة ضبط المصنع وإعادة التشغيل، وهو ما يُعرف بأنه يحل هذه المشكلة.
بمجرد تثبيت التبعيات الخاصة بك، يمكنك تشغيل إصدار تطوير من Rancher Desktop باستخدام:
yarn dev
لإجراء اختبارات الوحدة:
yarn test
لتشغيل اختبارات التكامل:
yarn test:e2e
يمكن إنشاء Rancher من المصدر على أنظمة Windows أو macOS أو Linux. التجميع المتقاطع غير مدعوم حاليًا. لتشغيل البناء قم بما يلي:
yarn build yarn package
يذهب إخراج البناء إلى dist/
.
يتيح لك مصحح الأخطاء عن بعد لـ Chrome تصحيح أخطاء تطبيقات Electron باستخدام أدوات مطوري Chrome. يمكنك استخدامه للوصول إلى رسائل السجل التي قد يتم إخراجها إلى وحدة تحكم المطور لعملية العارض. يعد هذا مفيدًا بشكل خاص للحصول على معلومات تصحيح إضافية في إصدارات الإنتاج لـ Rancher Desktop.
لتمكين تصحيح الأخطاء عن بعد، ابدأ تشغيل Rancher Desktop باستخدام الوسيطة --remote-debugging-port
.
على Linux، قم بتشغيل Rancher Desktop باستخدام الأمر التالي:
Rancher-desktop --remote-debugging-port="8315" --remote-allow-origins=http://localhost:8315
على نظام التشغيل macOS، قم بتشغيل Rancher Desktop باستخدام الأمر التالي:
/Applications/Rancher Desktop.app/Contents/MacOS/Rancher Desktop --remote-debugging-port="8315" --remote-allow-origins=http://localhost:8315
على نظام التشغيل Windows، قم بتشغيل Rancher Desktop باستخدام الأمر التالي:
قرص مضغوط 'C:Program FilesRancher Desktop'& '.Rancher Desktop.exe' --remote-debugging-port = "8315" --remote-allow-origins=http://localhost:8315
بعد بدء تشغيل Rancher Desktop، افتح Chrome وانتقل إلى http://localhost:8315/
. حدد الهدف المتاح لبدء تصحيح أخطاء Rancher Desktop عن بعد.
لتصحيح أخطاء أحد الإضافات عن بُعد، اتبع نفس عملية تصحيح أخطاء البنية عن بُعد. ومع ذلك، سوف تحتاج إلى تحميل ملحق قبل الانتقال إلى http://localhost:8315/
. يجب إدراج كل من Rancher Desktop والامتداد المحمل كأهداف متاحة.
تم اختبار الخطوات التالية باستخدام GoLand على نظام التشغيل Linux ولكنها قد تعمل مع بيئة تطوير JetBrains IDEs الأخرى بطريقة مماثلة.
قم بتثبيت البرنامج الإضافي Node.js (عبر File > Settings > Plugins
)
انتقل إلى مربع الحوار "تشغيل/تصحيح التكوينات" (عبر Run > Edit Configurations...
)
قم بإضافة تكوين Node.js جديد بالإعدادات التالية:
الاسم: اسم لتكوين تصحيح الأخطاء، على سبيل المثال rancher desktop
مترجم العقدة: اختر مترجم العقدة المثبت لديك، على سبيل المثال /usr/bin/node
معلمات العقدة: scripts/ts-wrapper.js scripts/dev.ts
دليل العمل: اختر دليل العمل لمشروعك، على سبيل المثال ~/src/rancher-desktop
احفظ التكوين
يمكنك الآن تعيين نقطة توقف والنقر فوق "Debug 'rancher Desktop'" لبدء التصحيح
يؤدي كل التزام إلى تشغيل GitHub Actions الذي يؤدي إلى تحميل حزم التطبيقات ( .exe
s و .dmg
s) كعناصر. يمكن أن يكون هذا مفيدًا إذا كنت تريد اختبار أحدث إصدار من Rancher Desktop كما تم إنشاؤه بواسطة نظام البناء. يمكنك تنزيل هذه العناصر من صفحة ملخص إجراءات package
المكتملة.
على غرار نظامي التشغيل Windows وmacOS، يتم إنشاء إصدارات Linux من Rancher Desktop من كل التزام. ومع ذلك، في نظام التشغيل Linux، يتم تنفيذ جزء فقط من العملية بواسطة GitHub Actions. يتم تنفيذ الجزء الأخير منه بواسطة Open Build Service.
هناك قناتان لمستودعات Rancher Desktop: dev
و stable
. stable
هي القناة التي يستخدمها معظم المستخدمين. وهو الذي يُطلب من المستخدمين إضافته في الوثائق الرسمية، والذي يحتوي على الإصدارات التي تم إنشاؤها من الإصدارات الرسمية. dev
هي القناة التي نهتم بها هنا: فهي تحتوي على إصدارات تم إنشاؤها من أحدث التزام تم إجراؤه على الفرع main
، وعلى أي فروع تتطابق مع تنسيق release-*
. لمعرفة كيفية تثبيت مستودعات التطوير، انظر أدناه.
عند استخدام مستودعات dev
، من المهم فهم تنسيق إصدارات Rancher Desktop المتوفرة من مستودعات dev
. الإصدارات هي في الشكل:
. . .
أين:
priority
هي رقم لا معنى له موجود لإعطاء الإصدارات المبنية من الفرع main
الأولوية على الإصدارات المبنية من فروع release-*
عند التحديث.
branch
هو اسم الفرع؛ تتم إزالة الشرطات بسبب القيود التي تفرضها تنسيقات الحزمة.
commit_time
هو الطابع الزمني UNIX للالتزام المستخدم في إنشاء البناء.
commit
هو التجزئة المختصرة للالتزام المستخدم في البناء.
.deb
يمكنك إضافة الريبو بالخطوات التالية:
curl -s https://download.opensuse.org/repositories/isv:/Rancher:/dev/deb/Release.key | gpg --dearmor | sudo dd status=none of=/usr/share/keyrings/isv-rancher-dev-archive-keyring.gpg echo 'deb [signed-by=/usr/share/keyrings/isv-rancher-dev-archive-keyring.gpg] https://download.opensuse.org/repositories/isv:/Rancher:/dev/deb/ ./' | sudo dd status=none of=/etc/apt/sources.list.d/isv-rancher-dev.list sudo apt update
يمكنك رؤية الإصدارات المتاحة مع:
apt list -a rancher-desktop
بمجرد العثور على الإصدار الذي تريد تثبيته، يمكنك تثبيته باستخدام:
sudo apt install rancher-desktop=
يعمل هذا حتى إذا كان لديك بالفعل إصدار من Rancher Desktop مثبتًا.
.rpm
مستودع التنميةيمكنك إضافة الريبو مع:
sudo zypper addrepo https://download.opensuse.org/repositories/isv:/Rancher:/dev/rpm/isv:Rancher:dev.repo sudo zypper refresh
يمكنك رؤية الإصدارات المتاحة مع:
zypper search -s rancher-desktop
أخيرًا، قم بتثبيت الإصدار الذي تريده باستخدام:
zypper install --oldpackage rancher-desktop=
يعمل هذا حتى إذا كان لديك بالفعل إصدار من Rancher Desktop مثبتًا.
لا توجد مستودعات لـ AppImages، ولكن يمكنك الوصول إلى أحدث التطويرات التي أنشأها AppImages هنا.
يدعم Rancher Desktop واجهة برمجة تطبيقات محدودة تعتمد على HTTP. يتم تعريف واجهة برمجة التطبيقات (API) في pkg/rancher-desktop/assets/specs/command-api.yaml
، ويمكنك مشاهدة أمثلة لكيفية استدعائها في كود العميل على go/src/rdctl
.
واجهة برمجة التطبيقات حاليًا في الإصدار 1، ولكنها لا تزال تعتبر داخلية وتجريبية، وتخضع للتغيير دون أي إشعار مسبق. في مرحلة ما، نتوقع أن التغييرات الضرورية على واجهة برمجة التطبيقات (API) سوف تمر عبر إشعار تحذير وإيقاف.
يرجى الاطلاع على الوثيقة حول المساهمة.
يرجى الاطلاع على دليل المستندات لمزيد من وثائق المطور.