Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel referensi ini menyediakan informasi terperinci tentang imagedefinition.yaml file dan task.yaml yang digunakan untuk menyesuaikan Microsoft Dev Box. Pengembang dapat menggunakan file YAML ini untuk menentukan tugas untuk menyediakan dan mengonfigurasi kotak pengembangan. File membantu memastikan konsistensi dan efisiensi di seluruh lingkungan pengembangan. Artikel ini membahas skema, atribut yang diperlukan, dan contoh untuk kedua jenis file, bersama dengan tugas bawaan seperti PowerShell dan WinGet.
File imagedefinition.yaml
Anda dapat menggunakan file YAML Dev Box untuk menentukan tugas kustomisasi yang harus dijalankan selama pembuatan Dev Box. File devbox.yaml mungkin tinggal di repositori yang sama dengan sumber utama yang digunakan tim pengembang, atau file mungkin berada di repositori konfigurasi terpusat.
Contoh definisi gambar YAML:
$schema: 1.0
name: project-sample-1
image: MicrosoftWindowsDesktop_windows-ent-cpc_win11-21h2-ent-cpc-m365
tasks:
- name: "powershell"
inputs:
command:
Nama
Diperlukan: Nama yang mudah diingat untuk definisi gambar ini dikaitkan dengan file ini devbox.yaml . Pengaturan ini mengontrol nama definisi gambar yang tersedia saat Anda membuat dan memperbarui kumpulan.
name: myVSDevBox
citra
Diperlukan: Gambar yang ingin Anda gunakan sebagai gambar dasar untuk definisi gambar Anda dapat menjadi gambar marketplace:
image: MicrosoftWindowsDesktop_windows-ent-cpc_win11-21h2-ent-cpc-m365
Atau dapat berupa gambar kustom dari instans Azure Compute Gallery terlampir:
image: galleryname/imagename@version
Untuk mempelajari cara melampirkan instans Azure Compute Gallery ke pusat pengembangan Anda, lihat Mengonfigurasi Azure Compute Gallery untuk Microsoft Dev Box.
Untuk mendapatkan daftar gambar yang dapat diakses pusat pengembangan Anda, gunakan perintah ini az cli :
az devcenter admin image list --dev-center-name CustomizationsImagingHQ --resource-group TeamCustomizationsImagingRG --query "[].name"
Anda memerlukan ekstensi pusat az cli pengembangan:
az extension add --name devcenter
buildProperties
Koleksi objek ini terdiri dari properti build yang dapat digunakan untuk menyesuaikan proses build untuk gambar.
networkConnection
Fakultatif: Menentukan koneksi jaringan yang akan digunakan selama pembuatan gambar. Koneksi jaringan ini memungkinkan tugas penyesuaian untuk mengakses sumber daya, seperti akun penyimpanan atau repositori, yang dapat diakses dari jaringan yang ditentukan. Koneksi jaringan harus dilampirkan ke Dev Center sebelum dapat digunakan untuk pembuatan gambar.
Contoh:
buildProperties:
networkConnection: "my-westus3"
tugas
Diperlukan: Koleksi objek ini terdiri dari tugas kustomisasi Dev Box untuk dijalankan saat Anda memprovisikan kotak dev. Input spesifik yang disediakan untuk tugas bervariasi menurut tugas.
Contoh:
tasks:
- name: winget
parameters:
package: GitHub.GitHubDesktop
Semua tugas mendukung timeout properti , yang bersifat opsional.
Contoh:
tasks:
- name: powershell
timeout: 1800 # in seconds
parameters:
command: <command>
Tugas bawaan
PowerShell dan WinGet tersedia sebagai tugas bawaan. Anda dapat memanggilnya secara langsung tanpa melampirkan katalog di tingkat pusat pengembangan yang menentukan implementasi tugas-tugas ini.
Tugas bawaan WinGet
Tugas bawaan ini menerapkan konfigurasi WinGet ke kotak dev.
Parameter:
configurationFile:- Jenis:
string - Jalur ke file YAML konfigurasi WinGet. File harus terletak di komputer lokal.
- Diperlukan:
false
- Jenis:
downloadUrl:- Jenis:
string - URL yang dapat diakses publik tempat file YAML konfigurasi disimpan. File diunduh ke jalur yang
configurationFilemenentukan. - Diperlukan:
false
- Jenis:
inlineConfigurationBase64:- Jenis:
string - String yang dikodekan Base64 dari file YAML konfigurasi WinGet. File didekodekan ke jalur yang
configurationFilemenentukan atau ke file sementara jika tidak ditentukan. - Diperlukan:
false
- Jenis:
package:- Jenis:
string - Nama paket yang akan diinstal.
- Jika file YAML konfigurasi disediakan di bawah parameter lain, nama paket tidak diperlukan.
- Diperlukan:
false
- Jenis:
version- Jenis:
string - Versi paket yang akan diinstal.
- Jika file YAML konfigurasi disediakan di bawah parameter lain, tidak perlu versi paket.
- Diperlukan:
false
- Jenis:
Tugas bawaan PowerShell
Tugas bawaan ini menjalankan perintah PowerShell.
Parameter:
-
command:- Jenis:
string - Perintah yang akan dijalankan.
- Diperlukan:
true
- Jenis:
file task.yaml
Tugas kustomisasi adalah unit kode penginstalan atau konfigurasi lingkungan yang dapat digunakan kembali. Pengembang menggunakan skrip PowerShell untuk menulisnya dan menggunakan task.yaml file metadata untuk menjelaskannya. Pengembang menggunakan tugas-tugas ini untuk menyesuaikan kotak dev dengan merujuknya dari devbox.yaml file.
Saat menentukan tugas kustomisasi, Anda dapat mengidentifikasi tugas yang tersedia untuk pengembang Anda untuk digunakan dalam devbox.yaml file. Anda dapat membatasi tindakan hak istimewa tinggi, seperti kemampuan untuk menjalankan perintah PowerShell apa pun.
Contoh definisi tugas berikut menjalankan perintah PowerShell dalam direktori kerja tertentu:
name: powershell
description: Execute a powershell command
author: Microsoft Corporation
command: ".\runcommand.ps1 -command {{command}} -workingDirectory {{workingDirectory}}"
inputs:
command:
type: string
defaultValue: ""
required: true
description: The command to execute
workingDirectory:
type: string
defaultValue: ""
required: false
description: The working directory to execute the command in
Atributs
Nama
Diperlukan: Pengidentifikasi unik ini digunakan untuk merujuk ke tugas dari devbox.yaml. Nama harus unik dalam konteks katalog tempat tugas berada.
Penamaan harus cocok dengan batasan sumber daya Azure yang ada. Nama harus antara 3 dan 63 karakter. Ini harus dimulai dengan karakter alfanumerik. Nama hanya boleh terdiri dari karakter alfanumerik dan "-", ".", atau "_". Karakter "/" dicadangkan.
name: powershell
deskripsi
Fakultatif: Atribut ini menjelaskan tugas.
description: This task executes a powershell command
Masukan
Diperlukan: Atribut ini mencantumkan parameter yang diambil tugas ini sebagai input dari devbox.yaml file dan digunakan saat menjalankan perintah. Setiap item induk mewakili nama parameter dan mendukung kunci ini:
-
type(wajib): Jenis data input untuk parameter ini. Bisastringatauint. -
defaultValue(wajib): Nilai default yang diambil parameter ini. -
required(wajib): Kunci yang menentukan apakah parameter ini opsional atau diperlukan. -
description(wajib): Deskripsi tentang apa yang diwakili parameter ini.
inputs:
command:
type: string
defaultValue: ""
required: true
description: The command to execute
Perintah
Diperlukan: Perintah ini digunakan untuk memenuhi tugas ini. String perintah yang disediakan berjalan di Windows PowerShell pada komputer lokal.
command: ".\runcommand.ps1
Variabel referensi dalam perintah
Untuk mereferensikan parameter dalam perintah, tentukan nama variabel dalam kurung kurawal ganda, misalnya, {{parameter_name}}. Nilai variabel ini diinterpolasi sebelum perintah Anda berjalan.
command: ".\runcommand.ps1 -command {{command}} -workingDirectory {{workingDirectory}}"
Batas Waktu
Fakultatif: Variabel ini menentukan jumlah waktu maksimum (dalam menit) untuk menunggu eksekusi tugas selesai sebelum waktu tugas habis. Defaultnya adalah 30 menit.
timeout: 30
pembuat
Fakultatif: Variabel ini mengidentifikasi penulis tugas untuk membantu audit dan pemecahan masalah.
author: Contoso Corporation
documentationURL
Fakultatif: Variabel ini menautkan ke dokumentasi untuk tugas ini.
documentationURL: "https://link.to/documentation"
licenseURL
Fakultatif: Variabel ini menautkan ke lisensi untuk tugas ini.
licenseURL: "https://link.to/license"