منصوبے کے بارے میں
Rancher Desktop ایک اوپن سورس ڈیسک ٹاپ ایپلیکیشن ہے جو Windows، macOS اور Linux پر Kubernetes اور کنٹینر مینجمنٹ فراہم کرتی ہے۔ یہ پروجیکٹ ایک Electron ایپلیکیشن ہے جو بنیادی طور پر TypeScript میں لکھی گئی ہے، اور متعدد ٹیکنالوجیز کو ایک مربوط ٹول میں یکجا کرتی ہے۔ اس میں ایک کمانڈ لائن یوٹیلیٹی، rdctl، شامل ہے جو Go میں لکھی گئی ہے۔
README کا مقصد Rancher Desktop پر کام کرنے والے ڈویلپرز کے لیے ہے۔ صارفین سے متعلق معلومات rancherdesktop.io پر موجود ہیں، اور صارف دستاویزات docs.rancherdesktop.io پر موجود ہیں۔
ڈیولپمنٹ ورک فلو:
- زیادہ تر کام (ڈیولپمنٹ بلڈز، پیکجنگ، یونٹ ٹیسٹ، اینڈ ٹو اینڈ ٹیسٹ) yarn اسکرپٹس کے ذریعے چلتے ہیں؛ کچھ مستثنیات جیسے BATS ٹیسٹ موجود ہیں۔
- Windows سیٹ اپ دو شکلوں میں پیش کیا جاتا ہے: ایک Microsoft Windows 10 ڈیولپمنٹ ورچوئل مشین جس میں خودکار PowerShell سیٹ اپ اسکرپٹ ہے، یا WSL، Scoop، nvm، Visual Studio (Desktop development with C++ workload اور Windows SDK کے ساتھ) اور git لائن اینڈنگ کنفیگریشن کا استعمال کرتے ہوئے دستی ماحول۔
- macOS سیٹ اپ Node 22، yarn اور Go کو Homebrew کے ذریعے انسٹال کرنے کے لیے nvm استعمال کرتا ہے۔ Apple M1 مشینوں پر، ڈیپنڈنسیز انسٹال کرنے اور اسکرپٹس چلانے سے پہلے M1 انوائرنمنٹ ویری ایبل سیٹ کرنا ضروری ہے۔
- Linux سیٹ اپ کے لیے Node.js v22 (ڈیولپمنٹ پیکجز کے ساتھ)، yarn کلاسک، Go 1.22 یا بعد کا ورژن، اور ffi-napi پیکج بنانے کے لیے node-gyp کے لیے C/C++ ٹول چین درکار ہے۔
چلانا اور ٹیسٹنگ:
- yarn dev ڈیولپمنٹ ورژن چلاتا ہے۔
- yarn test یونٹ ٹیسٹ چلاتا ہے؛ yarn test:e2e انٹیگریشن ٹیسٹ چلاتا ہے۔
- yarn build اور yarn package dist/ میں بلڈ آؤٹ پٹ تیار کرتے ہیں۔ کراس کمپائلیشن سپورٹڈ نہیں ہے۔
ڈیبگنگ:
- Chrome ریموٹ ڈیبگنگ کو Linux، macOS اور Windows پر --remote-debugging-port اور --remote-allow-origins فلیگز کے ساتھ فعال کیا جا سکتا ہے، پھر Chrome کے ذریعے لوکل پورٹ پر رسائی حاصل کی جا سکتی ہے۔ ایکسٹنشنز کو لوڈ کرنے کے بعد اسی طرح ریموٹ ڈیبگ کیا جا سکتا ہے۔
- GoLand (اور اسی طرح کے JetBrains IDEs) Node.js پلگ ان اور scripts/ts-wrapper.js scripts/dev.ts کی طرف اشارہ کرنے والی Node.js رن کنفیگریشن کا استعمال کرتے ہوئے ڈیولپمنٹ ماحول کو ڈیبگ کر سکتے ہیں۔
ڈیولپمنٹ بلڈز:
- Windows اور macOS پر، ہر کمٹ GitHub Actions کو متحرک کرتا ہے جو .exe اور .dmg آرٹیفیکٹس اپ لوڈ کرتا ہے۔
- Linux پر، GitHub Actions عمل کا کچھ حصہ انجام دیتا ہے اور Open Build Service باقی مکمل کرتا ہے۔ ڈیو اور سٹیبل چینلز ہیں؛ ڈیو بلڈز main برانچ اور release-* برانچز سے آتے ہیں، ورژنز کی فارمیٹ priority.branch.commit_time.commit ہے۔ .deb اور .rpm ڈیولپمنٹ ریپوزٹریز شامل کرنے اور ڈیولپمنٹ AppImage بلڈز تک رسائی کے لیے ہدایات فراہم کی گئی ہیں۔
API:
- Rancher Desktop ایک محدود HTTP-based API کو سپورٹ کرتا ہے جو pkg/rancher-desktop/assets/specs/command-api.yaml میں بیان کیا گیا ہے، جس کی کلائنٹ مثالیں go/src/rdctl میں موجود ہیں۔ API ورژن 1 پر ہے لیکن اسے اندرونی اور تجرباتی سمجھا جاتا ہے، اور بغیر اطلاع کے تبدیل ہو سکتا ہے۔
شراکت اور مزید پڑھنا:
- CONTRIBUTING.md دستاویز اور docs/development/ ڈائریکٹری اضافی ڈویلپر دستاویزات فراہم کرتی ہیں۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.