Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ez a referenciacikk részletes információkat tartalmaz a imagedefinition.yaml Microsoft Dev Box testreszabásához használt fájlokról és task.yaml fájlokról. A fejlesztők ezeket a YAML-fájlokat használhatják a fejlesztői mezők kiépítéséhez és konfigurálásához szükséges feladatok meghatározásához. A fájlok segítenek a fejlesztési környezetek konzisztenciájának és hatékonyságának biztosításában. Ez a cikk ismerteti a sémát, a szükséges attribútumokat és példákat mindkét fájltípushoz, valamint olyan beépített feladatokat, mint a PowerShell és a WinGet.
Imagedefinition.yaml-fájlok
A Dev Box YAML-fájllal meghatározhatja a Dev Box létrehozása során futtatandó testreszabási feladatokat. Előfordulhat, hogy egy devbox.yaml fájl ugyanabban az adattárban él, mint a fejlesztői csapat által használt elsődleges forrás, vagy a fájl a konfigurációk központi adattárában található.
Példa képdefiníció YAML:
$schema: 1.0
name: project-sample-1
image: MicrosoftWindowsDesktop_windows-ent-cpc_win11-21h2-ent-cpc-m365
tasks:
- name: "powershell"
inputs:
command:
név
Szükséges: A képdefiníció rövid neve ehhez devbox.yaml a fájlhoz van társítva. Ez a beállítás szabályozza a készletek létrehozásakor és frissítésekor elérhető képdefiníció nevét.
name: myVSDevBox
kép
Szükséges: A képdefiníció alapképeként használni kívánt rendszerkép lehet piactéri rendszerkép:
image: MicrosoftWindowsDesktop_windows-ent-cpc_win11-21h2-ent-cpc-m365
Vagy egy csatolt Azure Compute Gallery-példány egyéni rendszerképe is lehet:
image: galleryname/imagename@version
Ha tudni szeretné, hogyan csatolhat Azure Compute Gallery-példányt a fejlesztői központhoz, olvassa el az Azure Compute Gallery konfigurálása a Microsoft Dev Boxhoz című témakört.
Azoknak a képeknek a listájának lekéréséhez, amelyekhez a fejlesztői központ rendelkezik hozzáféréssel, használja ezt a az cli parancsot:
az devcenter admin image list --dev-center-name CustomizationsImagingHQ --resource-group TeamCustomizationsImagingRG --query "[].name"
Szüksége van a fejlesztői központ az cli bővítményére:
az extension add --name devcenter
buildProperties
Ez az objektumgyűjtemény összeállítási tulajdonságokból áll, amelyek a rendszerkép buildelési folyamatának testreszabására használhatók.
networkConnection
Szabadon választható: Megadja a rendszerkép létrehozása során használni kívánt hálózati kapcsolatot. Ez a hálózati kapcsolat lehetővé teszi a testreszabási feladatok számára, hogy hozzáférjenek a megadott hálózatról elérhető erőforrásokhoz, például tárfiókokhoz vagy adattárakhoz. A hálózati kapcsolatot csatlakoztatni kell a Fejlesztői központhoz, mielőtt a rendszerképek létrehozásakor használni lehetne.
Példa:
buildProperties:
networkConnection: "my-westus3"
feladatok
Szükséges: Ez az objektumgyűjtemény Dev Box testreszabási feladatokból áll, és a dev box kiépítésekor futtatható. A tevékenységhez adott bemenetek tevékenységenként eltérőek.
Példa:
tasks:
- name: winget
parameters:
package: GitHub.GitHubDesktop
Minden tevékenység támogatja a timeout tulajdonságot, ami nem kötelező.
Példa:
tasks:
- name: powershell
timeout: 1800 # in seconds
parameters:
command: <command>
Beépített feladatok
A PowerShell és a WinGet beépített feladatként érhető el. Közvetlenül anélkül hívhatja meg őket, hogy egy katalógust csatol a fejlesztési központ szintjén, amely meghatározza ezeknek a feladatoknak a megvalósítását.
WinGet beépített feladat
Ez a beépített feladat WinGet-konfigurációt alkalmaz a fejlesztői dobozra.
Paraméterek:
configurationFile:- Típus:
string - A WinGet config YAML-fájl elérési útja. A fájlnak a helyi gépen kell lennie.
- Szükséges:
false
- Típus:
downloadUrl:- Típus:
string - Nyilvánosan elérhető URL- cím, amelyen a konfigurációs YAML-fájl tárolódik. A fájl a megadott elérési útra
configurationFilelesz letöltve. - Szükséges:
false
- Típus:
inlineConfigurationBase64:- Típus:
string - A WinGet config YAML-fájl Base64 kódolású sztringje. A fájl dekódolva van a megadott elérési útra
configurationFilevagy egy ideiglenes fájlra, ha nincs megadva. - Szükséges:
false
- Típus:
package:- Típus:
string - A telepíteni kívánt csomag neve.
- Ha a konfigurációs YAML-fájl más paraméterek mellett van megadva, a csomag nevére nincs szükség.
- Szükséges:
false
- Típus:
version- Típus:
string - A telepíteni kívánt csomag verziója.
- Ha a konfigurációs YAML-fájl más paraméterek mellett van megadva, nincs szükség a csomag verziójára.
- Szükséges:
false
- Típus:
Beépített PowerShell-feladat
Ez a beépített feladat egy PowerShell-parancsot futtat.
Paraméterek:
-
command:- Típus:
string - A futtatandó parancs.
- Szükséges:
true
- Típus:
task.yaml-fájlok
A testreszabási feladatok a telepítési kód vagy a környezet konfigurációjának újrafelhasználható egységei. A fejlesztők PowerShell-szkriptekkel írják meg őket, és metaadatfájlt task.yaml használnak a leírásukhoz. A fejlesztők ezeket a feladatokat használva testre szabnak egy fejlesztői mezőt egy devbox.yaml fájlból való hivatkozással.
A testreszabási feladatok meghatározásakor azonosíthatja a fejlesztők számára a fájlokban devbox.yaml való használatra rendelkezésre álló feladatokat. Korlátozhatja a magas jogosultsági szintű műveleteket, például bármely PowerShell-parancs futtatásának lehetőségét.
Az alábbi példa egy feladatdefinícióra egy PowerShell-parancsot futtat egy adott munkakönyvtárban:
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
Tulajdonságok
név
Szükséges: Ezzel az egyedi azonosítóval hivatkozhat egy feladatra a következőből: devbox.yaml. A névnek egyedinek kell lennie annak a katalógusnak a kontextusában, amelyben a tevékenység létezik.
Az elnevezésnek meg kell egyeznie a meglévő Azure-erőforráskorlátokkal. A névnek 3 és 63 karakter közöttinek kell lennie. Ennek alfanumerikus karakterrel kell kezdődnie. A név csak alfanumerikus karakterekből és "-", "." vagy "_" karakterekből állhat. A "/" karakter foglalt.
name: powershell
leírás
Szabadon választható: Ez az attribútum a feladatot írja le.
description: This task executes a powershell command
Bemenetek
Szükséges: Ez az attribútum felsorolja azokat a paramétereket, amelyeket ez a feladat bemenetként vesz fel egy devbox.yaml fájlból, és a parancs futtatása közben használja. Minden szülőelem egy paraméter nevét jelöli, és támogatja az alábbi kulcsokat:
-
type(kötelező): A paraméter bemeneti adattípusa. A következők egyike lehet:stringvagyint. -
defaultValue(kötelező): A paraméter alapértelmezett értéke. -
required(kötelező): Az a kulcs, amely meghatározza, hogy ez a paraméter nem kötelező vagy kötelező. -
description(kötelező): Annak leírása, hogy ez a paraméter mit jelöl.
inputs:
command:
type: string
defaultValue: ""
required: true
description: The command to execute
parancs
Szükséges: Ez a parancs a feladat végrehajtására szolgál. A megadott parancssztring a Windows PowerShellben fut a helyi gépen.
command: ".\runcommand.ps1
Referenciaváltozók parancsokban
Ha paraméterekre szeretne hivatkozni egy parancsban, adja meg a változó nevét dupla zárójelben, például {{parameter_name}}. Ezeknek a változóknak az értékeit a parancs futtatása előtt interpolálja a rendszer.
command: ".\runcommand.ps1 -command {{command}} -workingDirectory {{workingDirectory}}"
időkorlát
Szabadon választható: Ez a változó azt a maximális időt adja meg (percekben), amíg a tevékenység végrehajtása befejeződik, mielőtt a tevékenység túllépi az időkorlátot. Az alapértelmezett érték 30 perc.
timeout: 30
szerző
Szabadon választható: Ez a változó azonosítja a tevékenység szerzőt, hogy segítsen az auditálásban és a hibaelhárításban.
author: Contoso Corporation
documentationURL
Szabadon választható: Ez a változó a feladat dokumentációját ismerteti.
documentationURL: "https://link.to/documentation"
licenseURL
Szabadon választható: Ez a változó a feladat licencére hivatkozik.
licenseURL: "https://link.to/license"