Pengembangan 'Fitur' Container ' Satu set fitur sederhana dan dapat digunakan kembali. Tambahkan bahasa/alat/CLI dengan cepat ke wadah pengembangan. |
'Fitur' adalah unit kode instalasi mandiri dan konfigurasi pengembangan wadah. Fitur dirancang untuk menginstal di atas berbagai gambar wadah dasar.
Kehilangan CLI atau bahasa dalam citra wadah Anda yang sempurna ? Tambahkan fitur yang relevan ke properti features
dari devcontainer.json
. Alat yang mendukung spesifikasi wadah dev diperlukan untuk membangun wadah pengembangan.
Anda dapat belajar tentang fitur di Containers.dev, yang merupakan situs web untuk spesifikasi Dev Container.
Untuk merujuk fitur dari repositori ini, tambahkan fitur yang diinginkan ke devcontainer.json
. Setiap fitur memiliki README.md
yang menunjukkan cara merujuk fitur dan opsi mana yang tersedia untuk fitur itu.
Contoh di bawah ini menginstal go
dan docker-in-docker
yang dinyatakan dalam direktori ./src
dari repositori ini.
Lihat readme fitur yang relevan untuk opsi yang didukung.
"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
ditambahkan secara implisit jika dihilangkan. Untuk menyematkan versi paket tertentu (contoh), tambahkan ke akhir fitur. Fitur Ikuti konvensi versi semantik, sehingga Anda dapat menyematkan versi utama :1
, versi minor :1.0
, atau versi patch :1.0.0
dengan menentukan label yang sesuai.
"features" : {
"ghcr.io/devcontainers/features/go:1.0.0" : {
"version" : "1.18"
}
}
Implementasi referensi CLI DevContainer (atau alat pendukung) dapat digunakan untuk membangun wadah DEV proyek yang menyatakan fitur.
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
- Koleksi subfolder, masing -masing mendeklarasikan fitur. Setiap subfolder berisi setidaknya devcontainer-feature.json
dan skrip install.sh
.test
-Mirroring src
, folder-per fitur dengan setidaknya skrip test.sh
CLI devcontainer
akan menjalankan tes ini di CI. Spesifikasi distribusi fitur menguraikan pola bagi anggota masyarakat dan organisasi untuk fitur pencatat diri dalam repositori yang mereka kendalikan.
Template repo devcontainers/feature-template
dan tindakan github tersedia untuk membantu bootstrap fitur yang mengarahkan diri sendiri.
Kami sangat ingin mendengar umpan balik Anda tentang penguasa diri! Harap berikan komentar dan umpan balik tentang masalah spec #70.
Repositori ini akan menerima kontribusi perbaikan dan perbaikan bug yang terkait dengan set fitur yang dipelihara saat ini.
? Anda dapat membaca lebih lanjut tentang cara berkontribusi dalam CONTRIBUTING.md
. ❤️