Sdílet prostřednictvím


Referenční dokumentace schématu vlastního nastavení

Tento referenční článek obsahuje podrobné informace o souborech imagedefinition.yaml , task.yaml které se používají k přizpůsobení Microsoft Dev Boxu. Vývojáři můžou tyto soubory YAML použít k definování úloh pro zřizování a konfiguraci vývojových polí. Soubory pomáhají zajistit konzistenci a efektivitu napříč vývojovými prostředími. Tento článek popisuje schéma, požadované atributy a příklady pro oba typy souborů spolu s integrovanými úlohami, jako je PowerShell a WinGet.

Soubory Imagedefinition.yaml

Soubor YAML dev Boxu můžete použít k definování úloh přizpůsobení, které by se měly spouštět při vytváření Dev Boxu. devbox.yaml Soubor může být ve stejném úložišti jako primární zdroj, který používá vývojový tým, nebo soubor může být v centralizovaném úložišti konfigurací.

Příklad definice obrázku YAML:

$schema: 1.0
name: project-sample-1
image: MicrosoftWindowsDesktop_windows-ent-cpc_win11-21h2-ent-cpc-m365
tasks:
- name: "powershell"
  inputs:
    command:

název

Požadovaný: Tento popisný název definice obrázku je přidružený k tomuto devbox.yaml souboru. Toto nastavení řídí název definice obrázku, která je k dispozici při vytváření a aktualizaci fondů.

name: myVSDevBox

obrázek

Požadovaný: Image, kterou chcete použít jako základní image pro definici image, může být image marketplace:

image: MicrosoftWindowsDesktop_windows-ent-cpc_win11-21h2-ent-cpc-m365

Nebo to může být vlastní image z připojené instance Galerie výpočetních prostředků Azure:

image: galleryname/imagename@version

Informace o připojení instance Galerie výpočetních prostředků Azure k vývojovému centru najdete v tématu Konfigurace galerie výpočetních prostředků Azure pro Microsoft Dev Box.

Pokud chcete získat seznam imagí, ke kterým má vaše vývojové centrum přístup, použijte tento az cli příkaz:

az devcenter admin image list --dev-center-name CustomizationsImagingHQ --resource-group TeamCustomizationsImagingRG --query "[].name"

Potřebujete rozšíření dev Center az cli :

az extension add --name devcenter

úkoly

Požadovaný: Tato kolekce objektů se skládá z úloh přizpůsobení Dev Boxu, které se mají spustit při zřizování vývojového pole. Konkrétní vstupy poskytované úkolu se liší podle úkolu.

Příklad:

tasks:
- name: winget
  parameters:
    package: GitHub.GitHubDesktop

Všechny úkoly podporují timeout vlastnost, která je volitelná.

Příklad:

tasks:
- name: powershell
  timeout: 1800 # in seconds
  parameters:
    command: <command>

Předdefinované úkoly

PowerShell a WinGet jsou k dispozici jako předdefinované úlohy. Můžete je vyvolat přímo bez připojení katalogu na úrovni vývojového centra, která definuje implementaci těchto úloh.

Předdefinovaná úloha WinGet

Tato integrovaná úloha použije konfiguraci WinGet do vývojového pole.

Parametry:

  • configurationFile:

    • Typ: string
    • Cesta k souboru YAML konfigurace WinGet. Soubor musí být umístěn v místním počítači.
    • Požadovaný: false
  • downloadUrl:

    • Typ: string
    • Veřejně přístupná adresa URL, kde je uložený konfigurační soubor YAML. Soubor se stáhne do cesty, která configurationFile určuje.
    • Požadovaný: false
  • inlineConfigurationBase64:

    • Typ: string
    • Řetězec kódování Base64 konfiguračního souboru YAML winGet. Soubor je dekódován do cesty, která configurationFile určuje nebo do dočasného souboru, pokud není zadán.
    • Požadovaný: false
  • package:

    • Typ: string
    • Název balíčku, který se má nainstalovat.
    • Pokud je konfigurační soubor YAML zadaný pod jinými parametry, název balíčku není potřeba.
    • Požadovaný: false
  • version

    • Typ: string
    • Verze balíčku, který se má nainstalovat.
    • Pokud je konfigurační soubor YAML k dispozici v rámci jiných parametrů, není potřeba verze balíčku.
    • Požadovaný: false

Integrovaná úloha PowerShellu

Tato integrovaná úloha spustí příkaz PowerShellu.

Parametry:

  • command:
    • Typ: string
    • Příkaz, který se má spustit.
    • Požadovaný: true

soubory task.yaml

Úlohy přizpůsobení jsou opakovaně použitelné jednotky instalačního kódu nebo konfigurace prostředí. Vývojáři k jejich zápisu používají skripty PowerShellu a k jejich popisu používají task.yaml soubor metadat. Vývojáři tyto úlohy používají k přizpůsobení vývojového pole tak, že na ně odkazují ze devbox.yaml souboru.

Při definování úloh přizpůsobení můžete identifikovat úlohy, které jsou k dispozici vývojářům pro použití v devbox.yaml souborech. Můžete omezit akce s vysokou úrovní oprávnění, například možnost spustit libovolný příkaz PowerShellu.

Následující příklad definice úlohy spustí příkaz PowerShellu v konkrétním pracovním adresáři:

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

Atributy

název

Požadovaný: Tento jedinečný identifikátor se používá k odkazu na úkol z devbox.yaml. Název musí být jedinečný v kontextu katalogu, ve kterém úloha existuje.

Pojmenování musí odpovídat existujícím omezením prostředků Azure. Název musí mít délku 3 až 63 znaků. Musí začínat alfanumerickým znakem. Název musí obsahovat pouze alfanumerické znaky a "-", ".", nebo "_". Znak /je vyhrazen.

name: powershell

popis

Volitelný: Tento atribut popisuje úkol.

description: This task executes a powershell command

vstupy

Požadovaný: Tento atribut uvádí parametry, které tento úkol přebírá jako vstup ze devbox.yaml souboru a používá se při spuštění příkazu. Každá nadřazená položka představuje název parametru a podporuje tyto klíče:

  • type (povinné): Vstupní datový typ pro tento parametr. Může být string nebo int.
  • defaultValue (povinné): Výchozí hodnota, kterou tento parametr přebírá.
  • required (povinné): Klíč, který určuje, jestli je tento parametr volitelný nebo povinný.
  • description (povinné): Popis, co tento parametr představuje.
inputs:
  command:
    type: string
    defaultValue: ""
    required: true
    description: The command to execute

příkaz

Požadovaný: Tento příkaz slouží k plnění tohoto úkolu. Zadaný příkazový řetězec běží v prostředí Windows PowerShell na místním počítači.

command: ".\runcommand.ps1

Referenční proměnné v příkazech

Pokud chcete odkazovat na parametry v příkazu, zadejte název proměnné v dvojitých složených závorkách, {{parameter_name}}například . Hodnoty těchto proměnných se interpolují před spuštěním příkazu.

command: ".\runcommand.ps1 -command {{command}} -workingDirectory {{workingDirectory}}"

časový limit

Volitelný: Tato proměnná určuje maximální dobu (v minutách), po kterou se má čekat na dokončení úkolu před vypršením časového limitu úkolu. Výchozí hodnota je 30 minut.

timeout: 30

autor

Volitelný: Tato proměnná identifikuje autora úkolu, který vám pomůže s audity a řešením potíží.

author: Contoso Corporation

documentationURL

Volitelný: Tato proměnná odkazuje na dokumentaci pro tuto úlohu.

documentationURL: "https://link.to/documentation"

licenseURL

Volitelný: Tato proměnná odkazuje na licenci pro tento úkol.

licenseURL: "https://link.to/license"