Recipiente de desenvolvimento 'Recursos' Um conjunto de recursos simples e reutilizáveis. Adicione rapidamente um idioma/ferramenta/CLI a um contêiner de desenvolvimento. |
'Recursos' são unidades independentes de código de instalação e configuração de contêiner de desenvolvimento. Os recursos são projetados para instalar em cima de uma ampla gama de imagens de contêiner de base.
Faltando uma CLI ou idioma em sua imagem de contêiner de outra forma perfeita ? Adicione o recurso relevante aos features
da propriedade de um devcontainer.json
. É necessária uma ferramenta que suporta a especificação do contêiner de dev para criar um contêiner de desenvolvimento.
Você pode aprender sobre os recursos do Containers.Dev, que é o site da especificação de contêineres de desenvolvimento.
Para fazer referência a um recurso deste repositório, adicione os recursos desejados a um devcontainer.json
. Cada recurso possui um README.md
que mostra como fazer referência ao recurso e quais opções estão disponíveis para esse recurso.
O exemplo abaixo instala o go
e docker-in-docker
declarado no diretório ./src
deste repositório.
Consulte o README do recurso relevante para obter opções suportadas.
"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
}
}
A anotação :latest
da versão é adicionada implicitamente se omitida. Para fixar em uma versão específica do pacote (exemplo), anexá -la ao final do recurso. Os recursos seguem as convenções semânticas de versão, para que você possa definir uma versão principal :1
, versão menor :1.0
ou patch versão :1.0.0
especificando o rótulo apropriado.
"features" : {
"ghcr.io/devcontainers/features/go:1.0.0" : {
"version" : "1.18"
}
}
A implementação de referência da CLI devContainer (ou uma ferramenta de suporte) pode ser usada para criar o recipiente de dev recipiente de um projeto declarando recursos.
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
- Uma coleção de subpastas, cada uma declarando um recurso. Cada subpasta contém pelo menos um devcontainer-feature.json
e um script install.sh
.test
-espelhamento src
, uma pasta por recurso com pelo menos um script test.sh
. A CLI devcontainer
executará esses testes no IC. A especificação de distribuição de recursos descreve um padrão para os membros e organizações da comunidade para obter recursos de auto-autor nos repositórios que eles controlam.
Um modelo devcontainers/feature-template
e Ação do GitHub estão disponíveis para ajudar os recursos de auto-autor do Bootstrap.
Estamos ansiosos para ouvir seu feedback sobre a auto-autoria! Forneça comentários e feedback sobre a edição de especificações nº 70.
Este repositório aceitará contribuições de melhoria e correção de bugs relacionadas ao conjunto atual de recursos mantidos.
? Você pode ler mais sobre como contribuir em CONTRIBUTING.md
. ❤️