حاوية التطوير "ميزات" مجموعة من الميزات البسيطة والقابلة لإعادة الاستخدام. أضف بسرعة لغة/أداة/CLI إلى حاوية تطوير. |
"الميزات" هي وحدات قائمة بذاتها من رمز التثبيت وتكوين حاوية التطوير. تم تصميم الميزات لتثبيت على قمة مجموعة واسعة من صور الحاوية الأساسية.
فقدان CLI أو لغة في صورة الحاوية المثالية ؟ أضف الميزة ذات الصلة إلى خاصية features
devcontainer.json
. مطلوب أداة تدعم مواصفات حاوية DEV لإنشاء حاوية تطوير.
يمكنك التعرف على الميزات في الحاويات.
للإشارة إلى ميزة من هذا المستودع ، أضف الميزات المطلوبة إلى devcontainer.json
. تحتوي كل ميزة على README.md
توضح كيفية الرجوع إلى الميزة والخيارات المتاحة لتلك الميزة.
يثبت المثال أدناه go
و docker-in-docker
أعلن في دليل ./src
لهذا المستودع.
راجع README من الميزة ذات الصلة للحصول على الخيارات المدعومة.
"name" : "my-project-devcontainer" ,
"image" : "mcr.microsoft.com/devcontainers/base:ubuntu" , // Any generic, debian-based image.
"features" : {
"ghcr.io/devcontainers/features/go:1" : {
"version" : "1.18"
} ,
"ghcr.io/devcontainers/features/docker-in-docker:1" : {
"version" : "latest" ,
"moby" : true
}
}
تتم إضافة :latest
تعليقات الإصدار الضمني إذا تم حذفها. للثبات لإصدار حزمة معين (مثال) ، قم بإلحاقه إلى نهاية الميزة. تتبع الميزات اتفاقيات الإصدار الدلالي ، حتى تتمكن من التعبير عن إصدار رئيسي :1
أو إصدار صغير :1.0
أو الإصدار :1.0.0
من خلال تحديد التسمية المناسبة.
"features" : {
"ghcr.io/devcontainers/features/go:1.0.0" : {
"version" : "1.18"
}
}
يمكن استخدام تطبيق DevContainer CLI المرجعي (أو أداة دعم) لإنشاء ميزات إعلان Dev Project.
git clone < my-project-with-devcontainer >
devcontainer build --workspace-folder < path-to-my-project-with-devcontainer >
.
├── README.md
├── src
│ ├── dotnet
│ │ ├── devcontainer-feature.json
│ │ └── install.sh
│ ├── go
│ │ ├── devcontainer-feature.json
│ │ └── install.sh
| ├── ...
│ │ ├── devcontainer-feature.json
│ │ └── install.sh
├── test
│ ├── dotnet
│ │ └── test.sh
│ ├── go
| | ├── scenarios.json
| | ├── test_scenario_1.json
│ | └── test.sh
| ├── ...
│ │ └── test.sh
...
src
- مجموعة من المجلدات الفرعية ، كل منها يعلن ميزة. يحتوي كل مقلع فرعي على على الأقل devcontainer-feature.json
و script install.sh
.test
-النسخ المتطابق src
، المجلد لكل حدة مع على الأقل test.sh
Script. سيقوم devcontainer
CLI بتنفيذ هذه الاختبارات في CI. تحدد مواصفات توزيع الميزات نمطًا لأفراد المجتمع والمنظمات لميزات التأليف الذاتي في المستودعات التي يتحكمون فيها.
يتوفر قالب devcontainers/feature-template
و github للمساعدة في الحصول على ميزات مؤلفة ذاتيا.
نحن حريصون على سماع ملاحظاتك على تأليف الذات! يرجى تقديم التعليقات والتعليقات على SPEC Issue #70.
سوف يقبل هذا المستودع مساهمات التحسين وإصلاح الأخطاء المتعلقة بالمجموعة الحالية من الميزات التي تم الحفاظ عليها.
؟ يمكنك قراءة المزيد حول كيفية المساهمة في CONTRIBUTING.md
. ❤