Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu başvuru makalesi, Microsoft Dev Box'ı imagedefinition.yaml özelleştirmek için kullanılan ve task.yaml dosyaları hakkında ayrıntılı bilgi sağlar. Geliştiriciler geliştirme kutularını sağlama ve yapılandırma görevlerini tanımlamak için bu YAML dosyalarını kullanabilir. Dosyalar, geliştirme ortamlarında tutarlılık ve verimlilik sağlamaya yardımcı olur. Bu makale, PowerShell ve WinGet gibi yerleşik görevlerin yanı sıra her iki dosya türü için şemayı, gerekli öznitelikleri ve örnekleri kapsar.
Imagedefinition.yaml dosyaları
Dev Box oluşturma sırasında çalışması gereken özelleştirme görevlerini tanımlamak için Bir Dev Box YAML dosyası kullanabilirsiniz. Bir devbox.yaml dosya, geliştirme ekibinin kullandığı birincil kaynakla aynı depoda veya merkezi bir yapılandırma deposunda olabilir.
Örnek görüntü tanımı YAML:
$schema: 1.0
name: project-sample-1
image: MicrosoftWindowsDesktop_windows-ent-cpc_win11-21h2-ent-cpc-m365
tasks:
- name: "powershell"
inputs:
command:
isim
Gerekli: Görüntü tanımının bu kolay adı bu devbox.yaml dosyayla ilişkilidir. Bu ayar, havuzları oluşturduğunuzda ve güncelleştirdiğinizde kullanılabilen görüntü tanımının adını denetler.
name: myVSDevBox
resim
Gerekli: Görüntü tanımınız için temel görüntü olarak kullanmak istediğiniz görüntü bir market görüntüsü olabilir:
image: MicrosoftWindowsDesktop_windows-ent-cpc_win11-21h2-ent-cpc-m365
Ekli bir Azure İşlem Galerisi örneğinden özel bir görüntü de olabilir:
image: galleryname/imagename@version
Geliştirme merkezinize Azure İşlem Galerisi örneği eklemeyi öğrenmek için bkz. Microsoft Dev Box için Azure İşlem Galerisi'nin yapılandırılması.
Geliştirme merkezinizin erişim iznine sahip olduğu görüntülerin listesini almak için şu az cli komutu kullanın:
az devcenter admin image list --dev-center-name CustomizationsImagingHQ --resource-group TeamCustomizationsImagingRG --query "[].name"
Geliştirme merkezi az cli uzantısına ihtiyacınız vardır:
az extension add --name devcenter
buildProperties (yapı özellikleri)
Bu nesne koleksiyonu, görüntü için derleme işlemini özelleştirmek için kullanılabilecek derleme özelliklerinden oluşur.
networkConnection
Opsiyonel: Görüntü oluşturma sırasında kullanılacak ağ bağlantısını belirtir. Bu ağ bağlantısı, özelleştirme görevlerinin belirtilen ağdan erişilebilen depolama hesapları veya depolar gibi kaynaklara erişmesine olanak tanır. Görüntü oluşturmak için kullanılabilmesi için önce ağ bağlantısının Geliştirme Merkezi'ne eklenmesi gerekir.
Örnek:
buildProperties:
networkConnection: "my-westus3"
Görevler
Gerekli: Bu nesne koleksiyonu, geliştirme kutusu sağladığınızda çalıştırılacak Dev Box özelleştirme görevlerinden oluşur. Göreve sağlanan belirli girişler göreve göre değişir.
Örnek:
tasks:
- name: winget
parameters:
package: GitHub.GitHubDesktop
Tüm görevler isteğe bağlı olan özelliğini destekler timeout .
Örnek:
tasks:
- name: powershell
timeout: 1800 # in seconds
parameters:
command: <command>
Yerleşik görevler
PowerShell ve WinGet yerleşik görevler olarak kullanılabilir. Bu görevlerin uygulanmasını tanımlayan geliştirme merkezi düzeyinde bir katalog eklemeden bunları doğrudan çağırabilirsiniz.
WinGet yerleşik görevi
Bu yerleşik görev geliştirme kutusuna bir WinGet yapılandırması uygular.
Parametreler:
configurationFile:- Tür:
string - WinGet yapılandırması YAML dosyasının yolu. Dosyanın yerel makinede bulunması gerekir.
- Gerekli:
false
- Tür:
downloadUrl:- Tür:
string - Yapılandırma YAML dosyasının depolandığı genel olarak erişilebilir bir URL. Dosya, öğesini belirten
configurationFileyola indirilir. - Gerekli:
false
- Tür:
inlineConfigurationBase64:- Tür:
string - WinGet yapılandırma YAML dosyasının Base64 kodlu dizesi. Dosyanın kodu belirtilen yola
configurationFileveya belirtilmemişse geçici bir dosyaya çözülebilir. - Gerekli:
false
- Tür:
package:- Tür:
string - Yüklenecek paketin adı.
- Yapılandırma YAML dosyası diğer parametreler altında sağlanırsa paket adı gerekli değildir.
- Gerekli:
false
- Tür:
version- Tür:
string - Yüklenecek paketin sürümü.
- Yapılandırma YAML dosyası diğer parametreler altında sağlanıyorsa paket sürümüne gerek yoktur.
- Gerekli:
false
- Tür:
PowerShell yerleşik görevi
Bu yerleşik görev bir PowerShell komutu çalıştırır.
Parametreler:
-
command:- Tür:
string - Çalıştırılacak komut.
- Gerekli:
true
- Tür:
task.yaml dosyaları
Özelleştirme görevleri, yeniden kullanılabilir yükleme kodu veya ortam yapılandırması birimleridir. Geliştiriciler bunları yazmak için PowerShell betiklerini kullanır ve bunları açıklamak için bir task.yaml meta veri dosyası kullanır. Geliştiriciler bu görevleri bir geliştirme kutusunu dosyadan devbox.yaml başvurarak özelleştirmek için kullanır.
Özelleştirme görevlerini tanımlarken, geliştiricilerinizin dosyalarda devbox.yaml kullanabileceği görevleri tanımlayabilirsiniz. Herhangi bir PowerShell komutunu çalıştırma yeteneği gibi yüksek ayrıcalıklı eylemleri kısıtlayabilirsiniz.
Aşağıdaki görev tanımı örneği, belirli bir çalışma dizininde bir PowerShell komutu çalıştırır:
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
Özellikler
isim
Gerekli: Bu benzersiz tanımlayıcı, içinden devbox.yamlbir göreve başvurmak için kullanılır. Adın, görevin bulunduğu katalog bağlamında benzersiz olması gerekir.
Adlandırma, mevcut Azure kaynak kısıtlamalarıyla eşleşmelidir. Ad 3 ile 63 karakter arasında olmalıdır. Alfasayısal karakterle başlamalıdır. Ad yalnızca alfasayısal karakterlerden ve "-", "." veya "_" karakterlerinden oluşmalıdır. "/" karakteri ayrılmıştır.
name: powershell
Açıklama
Opsiyonel: Bu öznitelik, görevi açıklar.
description: This task executes a powershell command
Girişler
Gerekli: Bu öznitelik, bu görevin bir devbox.yaml dosyadan giriş olarak aldığı ve komutu çalıştırırken kullandığı parametreleri listeler. Her üst öğe bir parametrenin adını temsil eder ve şu anahtarları destekler:
-
type(gerekli): Bu parametre için giriş veri türü.stringveyaintolabilir. -
defaultValue(gerekli): Bu parametrenin aldığı varsayılan değer. -
required(gerekli): Bu parametrenin isteğe bağlı mı yoksa gerekli mi olduğunu belirten anahtar. -
description(gerekli): Bu parametrenin neyi temsil ettiğiyle ilgili bir açıklama.
inputs:
command:
type: string
defaultValue: ""
required: true
description: The command to execute
komut
Gerekli: Bu komut bu görevi yerine getirmek için kullanılır. Sağlanan komut dizesi yerel makinede Windows PowerShell'de çalışır.
command: ".\runcommand.ps1
Komutlardaki başvuru değişkenleri
Bir komuttaki parametrelere başvurmak için, değişken adını çift ayraç içinde (örneğin, {{parameter_name}}) belirtin. Bu değişkenlerin değerleri, komutunuz çalıştırılmadan önce ilişkilendirilmiş.
command: ".\runcommand.ps1 -command {{command}} -workingDirectory {{workingDirectory}}"
zaman aşımı
Opsiyonel: Bu değişken, görev zaman aşımına uğramadan önce görev yürütmenin tamamlanmasını beklemek için geçmesi gereken en uzun süreyi (dakika cinsinden) belirtir. Varsayılan değer 30 dakikadır.
timeout: 30
yazar
Opsiyonel: Bu değişken, denetimlere ve sorun gidermeye yardımcı olmak için görev yazarını tanımlar.
author: Contoso Corporation
documentationURL
Opsiyonel: Bu değişken, bu görevin belgelerine bağlanır.
documentationURL: "https://link.to/documentation"
licenseURL
Opsiyonel: Bu değişken, bu görevin lisansına bağlanır.
licenseURL: "https://link.to/license"