Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit naslagartikel bevat gedetailleerde informatie over de imagedefinition.yaml bestanden die task.yaml worden gebruikt om Microsoft Dev Box aan te passen. Ontwikkelaars kunnen deze YAML-bestanden gebruiken om taken te definiëren voor het inrichten en configureren van dev-vakken. De bestanden zorgen voor consistentie en efficiëntie in ontwikkelomgevingen. Dit artikel bevat informatie over het schema, de vereiste kenmerken en voorbeelden voor beide bestandstypen, samen met ingebouwde taken zoals PowerShell en WinGet.
Imagedefinition.yaml-bestanden
U kunt een Dev Box YAML-bestand gebruiken om aanpassingstaken te definiëren die moeten worden uitgevoerd tijdens het maken van Dev Box. Een devbox.yaml bestand kan zich in dezelfde opslagplaats bevinden als de primaire bron die het ontwikkelaarsteam gebruikt, of het bestand bevindt zich mogelijk in een gecentraliseerde opslagplaats met configuraties.
YamL voor voorbeeldafbeeldingsdefinitie:
$schema: 1.0
name: project-sample-1
image: MicrosoftWindowsDesktop_windows-ent-cpc_win11-21h2-ent-cpc-m365
tasks:
- name: "powershell"
inputs:
command:
naam
Vereist: Deze beschrijvende naam voor de definitie van de installatiekopieën is gekoppeld aan dit devbox.yaml bestand. Met deze instelling bepaalt u de naam van de definitie van de installatiekopieën die beschikbaar is wanneer u pools maakt en bijwerkt.
name: myVSDevBox
afbeelding
Vereist: De installatiekopieën die u wilt gebruiken als basisinstallatiekopieën voor de definitie van uw installatiekopieën, kunnen een Marketplace-installatiekopieën zijn:
image: MicrosoftWindowsDesktop_windows-ent-cpc_win11-21h2-ent-cpc-m365
Het kan ook een aangepaste installatiekopieën zijn van een gekoppeld exemplaar van de Azure Compute Gallery:
image: galleryname/imagename@version
Zie Azure Compute Gallery configureren voor Microsoft Dev Box voor meer informatie over het koppelen van een exemplaar van de Azure Compute Gallery aan uw ontwikkelcentrum.
Gebruik deze az cli opdracht om een lijst met installatiekopieën op te halen waartoe uw ontwikkelaarscentrum toegang heeft:
az devcenter admin image list --dev-center-name CustomizationsImagingHQ --resource-group TeamCustomizationsImagingRG --query "[].name"
U hebt de extensie voor het ontwikkelaarscentrum az cli nodig:
az extension add --name devcenter
bouwenEigenschappen
Deze objectverzameling bestaat uit build-eigenschappen die kunnen worden gebruikt om het buildproces voor de installatiekopieën aan te passen.
networkConnection
Facultatief: Hiermee geeft u de netwerkverbinding die moet worden gebruikt tijdens het maken van de installatiekopie. Met deze netwerkverbinding kunnen aanpassingstaken toegang krijgen tot resources, zoals opslagaccounts of opslagplaatsen, die toegankelijk zijn vanuit het opgegeven netwerk. De netwerkverbinding moet worden gekoppeld aan het Ontwikkelaarscentrum voordat deze kan worden gebruikt voor het maken van installatiekopieën.
Voorbeeld:
buildProperties:
networkConnection: "my-westus3"
taken
Vereist: Deze objectverzameling bestaat uit Dev Box-aanpassingstaken die moeten worden uitgevoerd wanneer u een ontwikkelvak inricht. De specifieke invoer die aan een taak wordt verstrekt, verschilt per taak.
Voorbeeld:
tasks:
- name: winget
parameters:
package: GitHub.GitHubDesktop
Alle taken ondersteunen de timeout eigenschap, wat optioneel is.
Voorbeeld:
tasks:
- name: powershell
timeout: 1800 # in seconds
parameters:
command: <command>
Ingebouwde taken
PowerShell en WinGet zijn beschikbaar als ingebouwde taken. U kunt ze rechtstreeks aanroepen zonder een catalogus te koppelen op het niveau van het ontwikkelaarscentrum waarmee de implementatie van deze taken wordt gedefinieerd.
Ingebouwde WinGet-taak
Met deze ingebouwde taak wordt een WinGet-configuratie toegepast op het ontwikkelvak.
Parameters:
configurationFile:- Typ:
string - Het pad naar het YAML-bestand van de WinGet-configuratie. Het bestand moet zich op de lokale computer bevinden.
- Vereist:
false
- Typ:
downloadUrl:- Typ:
string - Een openbaar toegankelijke URL waarin het YAML-configuratiebestand wordt opgeslagen. Het bestand wordt gedownload naar het pad dat
configurationFileaangeeft. - Vereist:
false
- Typ:
inlineConfigurationBase64:- Typ:
string - Een met Base64 gecodeerde tekenreeks van het YAML-bestand winGet-configuratie. Het bestand wordt gedecodeerd naar het pad dat
configurationFileaangeeft of naar een tijdelijk bestand als het niet is opgegeven. - Vereist:
false
- Typ:
package:- Typ:
string - De naam van het pakket dat moet worden geïnstalleerd.
- Als een YAML-configuratiebestand wordt opgegeven onder andere parameters, is de pakketnaam niet nodig.
- Vereist:
false
- Typ:
version- Typ:
string - De versie van het pakket die moet worden geïnstalleerd.
- Als er een YAML-configuratiebestand wordt opgegeven onder andere parameters, is de pakketversie niet nodig.
- Vereist:
false
- Typ:
Ingebouwde PowerShell-taak
Met deze ingebouwde taak wordt een PowerShell-opdracht uitgevoerd.
Parameters:
-
command:- Typ:
string - De opdracht die moet worden uitgevoerd.
- Vereist:
true
- Typ:
task.yaml-bestanden
Aanpassingstaken zijn herbruikbare eenheden van installatiecode of omgevingsconfiguratie. Ontwikkelaars gebruiken PowerShell-scripts om ze te schrijven en een task.yaml metagegevensbestand te gebruiken om ze te beschrijven. Ontwikkelaars gebruiken deze taken om een ontwikkelvak aan te passen door ernaar te verwijzen vanuit een devbox.yaml bestand.
Wanneer u aanpassingstaken definieert, kunt u de taken identificeren die beschikbaar zijn voor uw ontwikkelaars voor gebruik in devbox.yaml bestanden. U kunt acties met hoge bevoegdheden beperken, zoals de mogelijkheid om een PowerShell-opdracht uit te voeren.
In het volgende voorbeeld van een taakdefinitie wordt een PowerShell-opdracht uitgevoerd in een specifieke werkmap:
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
Kenmerken
naam
Vereist: Deze unieke id wordt gebruikt om te verwijzen naar een taak van devbox.yaml. De naam moet uniek zijn in de context van de catalogus waar de taak bestaat.
Naamgeving moet overeenkomen met bestaande Azure-resourcebeperkingen. De naam moet tussen 3 en 63 tekens zijn. Het moet beginnen met een alfanumerieke teken. De naam mag alleen bestaan uit alfanumerieke tekens en '-', '', of '_'. Het teken '/' is gereserveerd.
name: powershell
beschrijving
Facultatief: Dit kenmerk beschrijft de taak.
description: This task executes a powershell command
Ingangen
Vereist: Dit kenmerk bevat de parameters die deze taak als invoer uit een devbox.yaml bestand neemt en gebruikt tijdens het uitvoeren van de opdracht. Elk bovenliggend item vertegenwoordigt de naam van een parameter en ondersteunt deze sleutels:
-
type(vereist): het invoergegevenstype voor deze parameter. Deze waarde kanstringofintzijn. -
defaultValue(vereist): de standaardwaarde die deze parameter gebruikt. -
required(vereist): De sleutel die aangeeft of deze parameter optioneel of vereist is. -
description(vereist): Een beschrijving van wat deze parameter vertegenwoordigt.
inputs:
command:
type: string
defaultValue: ""
required: true
description: The command to execute
opdracht
Vereist: Deze opdracht wordt gebruikt om deze taak te vervullen. De opgegeven opdrachtreeks wordt uitgevoerd in Windows PowerShell op de lokale computer.
command: ".\runcommand.ps1
Referentievariabelen in opdrachten
Als u wilt verwijzen naar parameters in een opdracht, geeft u de naam van de variabele in dubbele accolades op, {{parameter_name}}bijvoorbeeld. De waarden van deze variabelen worden geïnterpoleerd voordat de opdracht wordt uitgevoerd.
command: ".\runcommand.ps1 -command {{command}} -workingDirectory {{workingDirectory}}"
tijdslimiet
Facultatief: Met deze variabele geeft u de maximale hoeveelheid tijd (in minuten) op die moet worden gewacht tot de uitvoering van de taak is voltooid voordat er een time-out optreedt voor de taak. De standaardwaarde is 30 minuten.
timeout: 30
auteur
Facultatief: Deze variabele identificeert de auteur van de taak om te helpen bij controles en probleemoplossing.
author: Contoso Corporation
documentationURL
Facultatief: Deze variabele is gekoppeld aan de documentatie voor deze taak.
documentationURL: "https://link.to/documentation"
licenseURL
Facultatief: Deze variabele is gekoppeld aan de licentie voor deze taak.
licenseURL: "https://link.to/license"