Entwicklungscontainer "Merkmale" Ein Satz einfacher und wiederverwendbarer Funktionen. Fügen Sie einem Entwicklungsbehälter schnell eine Sprache/Tool/CLI hinzu. |
'Merkmale' sind in sich geschlossene Einheiten der Installationscode- und Entwicklungscontainerkonfiguration. Die Funktionen sind so konzipiert, dass sie auf einer breiten Basisbehälterbildern auf dem Basisbehälter installiert sind.
Fehlen einer CLI oder einer Sprache in Ihrem ansonsten perfekten Containerbild? Fügen Sie die relevante Funktion der features
eines devcontainer.json
hinzu. Ein Tool, das die Dev -Containerspezifikation unterstützt, ist erforderlich, um einen Entwicklungscontainer zu erstellen.
Sie können über Funktionen bei Containern erfahren.
Um auf eine Funktion aus diesem Repository zu verweisen, fügen Sie die gewünschten Funktionen zu einem devcontainer.json
hinzu. Jede Funktion verfügt über eine README.md
, in der zeigt, wie die Funktion auf die Funktion verweist und welche Optionen für diese Funktion verfügbar sind.
Das docker-in-docker
Beispiel go
in dem ./src
.
Die Readme der relevanten Funktion finden Sie unter unterstützten Optionen.
"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
}
}
Die :latest
Versionserklärung wird implizit hinzugefügt, wenn es weggelassen wird. Um an eine bestimmte Paketversion (Beispiel) festzuhalten, fügen Sie sie am Ende der Funktion an. Funktionen folgen semantischen Versionskonventionen, sodass Sie eine Hauptversion angeben können :1
, Minorversion :1.0
oder Patch -Version :1.0.0
indem Sie das entsprechende Etikett angeben.
"features" : {
"ghcr.io/devcontainers/features/go:1.0.0" : {
"version" : "1.18"
}
}
Die DevContainer CLI Referenzimplementierung (oder ein unterstützendes Tool) kann verwendet werden, um die Deklarierung von Dev -Container -Funktionen eines Projekts zu erstellen.
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
- Eine Sammlung von Unterordnern, die jeweils eine Funktion deklarieren. Jeder Unterordner enthält mindestens einen devcontainer-feature.json
und ein install.sh
Skript.test
-Spiegelung src
, ein Ordner-per-Feature mit mindestens einem test.sh
-Skript. Die devcontainer
CLI wird diese Tests in CI durchführen. Die Feature-Distribution-Spezifikation beschreibt ein Muster für Gemeindemitglieder und Organisationen für Selbstautormerkmale in Repositories, die sie kontrollieren.
Eine Template Repo devcontainers/feature-template
und GitHub-Aktion stehen zur Verfügung, um die selbstautorisierten Funktionen für selbstautorisierte Street-Funktionen zu unterstützen.
Wir sind bestrebt, Ihr Feedback zur Selbstautorierung zu hören! Bitte geben Sie Kommentare und Feedback zu Spec -Ausgabe Nr. 70 an.
Dieses Repository akzeptiert Verbesserungs- und Fehlerfix -Beiträge im Zusammenhang mit dem aktuellen Satz gewarteter Funktionen.
? Sie können mehr darüber erfahren, wie Sie einen Beitrag zum CONTRIBUTING.md
leisten können.md. ❤️