تخطَّ إلى المحتوى

DevPod - أداة بيئات التطوير مفتوحة المصدر كالكود

DevPod - أداة بيئات التطوير مفتوحة المصدر كالكود

DevPod (من قبل Loft) هي أداة عميل فقط مفتوحة المصدر التي تنشئ بيئات مطور قابلة للتكرار من معيار devcontainer.json على أي واجهة خلفية — Docker المحلي أو جهاز SSH بعيد أو مجموعة Kubernetes أو VM سحابية. فكر “Codespaces المستضاف ذاتياً بدون رأي”: تعمل مع أي IDE (VS Code أو JetBrains أو متصفح) وتتحكم أنت في حيث تعمل البيئة عبر موفري قابلين للتوصيل ولا توجد مكون خادم لتشغيله.

التثبيت

الطريقةالطريقة
CLIتنزيل من إصدارات GitHub (Linux/macOS/Windows)
تطبيق سطح المكتبتطبيق DevPod Desktop GUI متاح
المتطلبواجهة خلفية موفر (Docker, SSH host, K8s, cloud)
التحققdevpod version

الموفرون (حيث تعمل البيئات)

الأمرالوصف
devpod provider add dockerاستخدم Docker المحلي
devpod provider add ssh --option HOST=user@hostاستخدم جهاز بعيد
devpod provider add kubernetesتشغيل في مجموعة K8s
devpod provider add aws (gcloud, azure)موفرو VM السحابية
devpod provider listقائمة الموفرين المكونين
devpod provider use dockerتعيين الموفر الافتراضي

إنشاء مساحات العمل

الأمرالوصف
devpod up .ابدأ بيئة من مستودع devcontainer الحالي
devpod up github.com/org/repoمن عنوان URL لمستودع Git
devpod up . --ide vscodeفتح في IDE محدد
devpod up . --provider kubernetesاختر واجهة خلفية
devpod up . --recreateإعادة بناء مساحة العمل

إدارة مساحات العمل

الأمرالوصف
devpod listقائمة مساحات العمل
devpod stop <name>أوقف مساحة عمل
devpod delete <name>حذف مساحة عمل
devpod ssh <name>SSH في مساحة عمل
devpod status <name>عرض حالة مساحة العمل

devcontainer.json (المواصفات)

تستهلك DevPod مواصفات Dev Container المفتوحة حتى يعمل نفس الملف في Codespaces و VS Code و DevPod.

{
  "name": "my-project",
  "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
  "features": {
    "ghcr.io/devcontainers/features/node:1": { "version": "20" }
  },
  "postCreateCommand": "npm install",
  "customizations": {
    "vscode": { "extensions": ["dbaeumer.vscode-eslint"] }
  }
}
الحقلالغرض
image / dockerfileبيئة أساسية
featuresإضافات قابلة للتكوين (اللغات والأدوات)
postCreateCommandإعداد التشغيل بعد الإنشاء
forwardPortsالمنافذ المراد تعريضها
customizationsإعدادات/امتدادات خاصة بـ IDE

تكامل IDE

IDEالطريقة
VS Code--ide vscode (سطح المكتب أو المتصفح)
JetBrains--ide goland/pycharm/...
متصفح (openvscode)--ide openvscode
SSH/terminaldevpod ssh <name>

سير العمل العام

# بيئة تطوير Docker محلية من devcontainer الخاص بمستودع
devpod provider add docker
devpod up github.com/org/project --ide vscode

# تفريغ الإنشاءات الثقيلة إلى جهاز بعيد قوي
devpod provider add ssh --option HOST=me@build-server
devpod up . --provider ssh

# بيئة سحابية مؤقتة في Kubernetes محذوفة عند الانتهاء
devpod up . --provider kubernetes
devpod delete my-project

DevPod مقابل البدائل

الجانبDevPodGitHub CodespacesDevboxGitpod
استضافةأي واجهة خلفية (اختيارك)سحابة GitHubمحلي (Nix)السحابة/self-host
المواصفاتdevcontainer.jsondevcontainer.jsondevbox.jsonإعداد Gitpod
خادملا شيء (عميل فقط)إدارةلا شيءخادم
الأفضل لـمحمول، أي سحابة devصفر إعدادات GitHubمحلي قابل للتكرارمساحات عمل تم تشغيلها بـ Git

تستخدم DevPod نفس devcontainer spec مثل Codespaces؛ للبيئات المحلية القائمة على Nix انظر Devbox.

الموارد