الأدوات
يوفر Rediacc أربع أدوات للعمل اليومي على آلاتك ومستودعاتك: مزامنة الملفات عبر SSH، طرفية SSH، تكامل VS Code، وتحديثات واجهة سطر الأوامر. جميع هذه الأدوات تعمل عبر SSH. لا يلزم أي عامل أو daemon على الجانب البعيد. إذا كنت تبحث عن واجهة رسومية، فأنت في الصفحة الخاطئة.
مزامنة الملفات (sync)
نقل الملفات بين جهاز العمل الخاص بك ومستودع بعيد باستخدام rsync عبر SSH.
رفع الملفات
يقبل --local مسارًا واحدًا أو أكثر. قد يكون كل مسار ملفًا أو مجلدًا. تُنزل الملفات في <remote>/<basename>؛ محتويات المجلد تندمج في <remote>/. لملف واحد، يُفضل استخدام --remote-file لتحديد مسار الوجهة بوضوح.
# Directory (contents merged into remote)
rdc repo sync upload my-app --local ./src --remote /app/src
# Single file dropped into a remote directory (basename preserved)
rdc repo sync upload my-app --local ./config.yml --remote /app/conf
# Single file, explicit destination path
rdc repo sync upload my-app --local ./config.yml --remote-file /app/conf/config.yml
# Multiple sources in one call
rdc repo sync upload my-app --local a.yml b.yml ./assets --remote /app
--remote و --remote-file متنافيتان. يتطلب --remote-file مسار --local واحد بالضبط يشير إلى ملف.
لا يمكن دمج --mirror مع مصدر ملف؛ سيحذف الملفات الشقيقة في المجلد البعيد.
تنزيل الملفات
استخدم --remote للمجلد (الافتراضي) أو --remote-file لملف واحد. الرايتان متنافيتان.
# Directory
rdc repo sync download my-app --remote /app/data --local ./data
# Single file: --local must be an existing directory
rdc repo sync download my-app --remote-file /app/conf/config.yml --local ./local-conf
التحقق من حالة المزامنة
rdc repo sync status my-app
الخيارات
| Option | الوصف |
|---|---|
-m, --machine <name> | الجهاز المستهدف |
<ref> (موضعي) | مرجع المستودع الهدف: name أو name:tag، مع @machine اختيارياً |
--local <paths...> | مسار واحد أو أكثر لملف أو مجلد محلي (رفع) أو مجلد الوجهة المحلي (تنزيل) |
--remote <path> | مجلد بعيد (نسبي إلى نقطة تحميل المستودع) |
--remote-file <path> | مسار ملف بعيد لعمليات الرفع أو التنزيل الفردية (بديل لـ --remote) |
--dry-run | معاينة التغييرات دون نقل الملفات |
--mirror | مطابقة المصدر مع الوجهة، حذف الملفات الزائدة (مصادر المجلدات فقط) |
--verify | التحقق من المجاميع الاختبارية بعد النقل |
--confirm | تأكيد تفاعلي مع عرض التفاصيل |
--exclude <patterns...> | استثناء أنماط الملفات |
--skip-router-restart | تخطي إعادة تشغيل خادم التوجيه بعد العملية |
طرفية SSH (term)
فتح جلسة SSH تفاعلية للاتصال بجهاز أو الدخول إلى بيئة مستودع.
الصيغة المختصرة
أسرع طريقة للاتصال:
rdc term connect server-1 # الاتصال بجهاز
rdc term connect my-app # الاتصال بمستودع
تنفيذ أمر
تنفيذ أمر دون فتح جلسة تفاعلية:
rdc term connect server-1 -c "uptime"
rdc term connect my-app -c "docker ps"
عند الاتصال بمستودع، يتم تعيين DOCKER_HOST تلقائيًا إلى مقبس Docker المعزول الخاص بالمستودع، لذا فإن docker ps يعرض حاويات ذلك المستودع فقط.
الأمر الفرعي connect
أو استخدم الأمر الفرعي connect للحصول على نفس النتيجة، مع رايات صريحة:
rdc term connect server-1
rdc term connect my-app
إجراءات الحاويات
التفاعل مباشرة مع حاوية قيد التشغيل:
# Open a shell inside a container
rdc repo exec my-app -c <container> -i -- bash
# View container logs
rdc repo logs my-app -c <container>
# Follow logs in real-time
rdc repo logs my-app -c <container> --follow
# View container stats
rdc repo exec my-app -c <container> -i -- bash --container-action stats
# Execute a command in a container
rdc repo exec my-app -c <container> -- ls -la
| الخيار | الأمر | الوصف |
|---|---|---|
-c, --container <name> | كلاهما | الحاوية المستهدفة داخل المستودع |
--lines <n> | repo logs | عدد أسطر السجل المراد عرضها |
-f, --follow | repo logs | متابعة السجلات باستمرار |
--timestamps | repo logs | إضافة طابع زمني لبداية كل سطر |
-i, --interactive | repo exec | إبقاء stdin مفتوحًا (لازم لفتح غلاف) |
-u, --user <user> | repo exec | التشغيل كمستخدم محدد |
تكامل VS Code (vscode)
فتح جلسة SSH عن بُعد في VS Code، مُعدّة مسبقًا بإعدادات SSH الصحيحة.
الاتصال بمستودع
rdc vscode connect my-app
يقوم هذا الأمر بما يلي:
- اكتشاف تثبيت VS Code الخاص بك
- تكوين اتصال SSH في
~/.ssh/config - حفظ مفتاح SSH للجلسة
- فتح VS Code مع اتصال Remote SSH إلى مسار المستودع
عرض الاتصالات المُعدّة
rdc vscode list
تنظيف الاتصالات
rdc vscode cleanup
إزالة تكوينات SSH الخاصة بـ VS Code التي لم تعد مطلوبة.
فحص التكوين
rdc vscode check
التحقق من تثبيت VS Code، وإضافة Remote SSH، والاتصالات النشطة.
متطلب مسبق: قم بتثبيت إضافة Remote - SSH في VS Code.
VS Code في المتصفح
لا تريد تثبيت VS Code محليًا؟ شغّل المحرر من داخل صندوق رمل المستودع وافتحه في أي متصفح:
rdc vscode connect my-app --browser
يقوم هذا الأمر بما يلي:
- تثبيت خادم المحرر مفتوح المصدر على الجهاز مرة واحدة (مسار مشترك للقراءة فقط، مُتحقَّق من بصمته)
- تشغيله داخل صندوق رمل المستودع، بحيث ترى شجرة الملفات والطرفية المدمجة وكل عملية فرعية بالضبط ما يراه المستودع
- فتح نفق SSH إلى منفذ محلي وتشغيل متصفحك برابط يحتوي على رمز جلسة خاص
يستمر الخادم في العمل بعد إغلاق النفق؛ إعادة الاتصال تُعيد استخدامه. أدِره بالأوامر:
rdc vscode serve status my-app
rdc vscode serve stop my-app
| الخيار | الوصف |
|---|---|
--no-open | طباعة الرابط بدلًا من فتح المتصفح |
--url-only | طباعة سطر رابط واحد على stdout (للنصوص البرمجية) مع الإبقاء على النفق |
--local <port> | اختيار منفذ النفق المحلي |
--server-provider <id> | تطبيق خادم المحرر: openvscode (الافتراضي) أو code-server |
--server-archive <file> | التثبيت من أرشيف مُعد مسبقًا على الجهاز (بدون إنترنت) |
يعمل من Linux وmacOS وWindows أو من جهاز لوحي. المتطلب المحلي الوحيد هو متصفح.
تحديثات واجهة سطر الأوامر (update)
الحفاظ على تحديث واجهة سطر الأوامر rdc.
التحقق من التحديثات
rdc update --check-only
تطبيق التحديث
rdc update
يتم تنزيل التحديثات وتطبيقها في مكانها. تختار واجهة سطر الأوامر تلقائيًا الملف الثنائي المناسب لمنصتك (Linux أو macOS أو Windows). يسري الإصدار الجديد عند التشغيل التالي.
التراجع
rdc update --rollback
العودة إلى الإصدار المثبت سابقًا. متاح فقط بعد تطبيق تحديث.
حالة التحديث
rdc update --status
عرض الإصدار الحالي وقناة التحديث وتكوين التحديث التلقائي.
قنوات الإصدار
rdc update --channel edge # التحديثات المنشورة بشكل مستمر للإنتاج
rdc update --channel stable # الإصدارات المعززة من edge بعد 7 أيام من التثبيت (الافتراضي)
rdc update --status # عرض القناة الحالية ومعلومات الإصدار