Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo di riferimento fornisce informazioni dettagliate sui imagedefinition.yaml file e task.yaml usati per personalizzare Microsoft Dev Box. Gli sviluppatori possono usare questi file YAML per definire le attività per il provisioning e la configurazione di finestre di sviluppo. I file consentono di garantire coerenza ed efficienza in ambienti di sviluppo. Questo articolo illustra lo schema, gli attributi obbligatori ed esempi per entrambi i tipi di file, insieme alle attività predefinite come PowerShell e WinGet.
File Imagedefinition.yaml
È possibile usare un file YAML di Dev Box per definire le attività di personalizzazione che devono essere eseguite durante la creazione di Dev Box. Un devbox.yaml file potrebbe trovarsi nello stesso repository dell'origine primaria usata dal team di sviluppo oppure il file potrebbe trovarsi in un repository centralizzato di configurazioni.
Definizione di immagine di esempio YAML:
$schema: 1.0
name: project-sample-1
image: MicrosoftWindowsDesktop_windows-ent-cpc_win11-21h2-ent-cpc-m365
tasks:
- name: "powershell"
inputs:
command:
nome
Obbligatorio: Questo nome descrittivo per la definizione dell'immagine è associato a questo devbox.yaml file. Questa impostazione controlla il nome della definizione dell'immagine disponibile quando si creano e aggiornano i pool.
name: myVSDevBox
immagine
Obbligatorio: L'immagine che si vuole usare come immagine di base per la definizione dell'immagine può essere un'immagine del marketplace:
image: MicrosoftWindowsDesktop_windows-ent-cpc_win11-21h2-ent-cpc-m365
In alternativa, può essere un'immagine personalizzata da un'istanza di Azure Compute Gallery collegata:
image: galleryname/imagename@version
Per informazioni su come collegare un'istanza di Azure Compute Gallery al dev center, vedere Configurare La raccolta di calcolo di Azure per Microsoft Dev Box.
Per ottenere un elenco di immagini a cui ha accesso il dev center, usare questo az cli comando:
az devcenter admin image list --dev-center-name CustomizationsImagingHQ --resource-group TeamCustomizationsImagingRG --query "[].name"
È necessaria l'estensione dev Center az cli :
az extension add --name devcenter
buildProperties
Questa raccolta di oggetti è costituita da proprietà di compilazione che possono essere usate per personalizzare il processo di compilazione per l'immagine.
networkConnection
Opzionale: Specifica la connessione di rete da utilizzare durante la creazione dell'immagine. Questa connessione di rete consente alle attività di personalizzazione di accedere alle risorse, ad esempio gli account di archiviazione o i repository, accessibili dalla rete specificata. La connessione di rete deve essere collegata a Dev Center prima che possa essere usata per la creazione di immagini.
Esempio:
buildProperties:
networkConnection: "my-westus3"
Attività
Obbligatorio: Questa raccolta di oggetti è costituita da attività di personalizzazione di Dev Box da eseguire quando si effettua il provisioning di una casella di sviluppo. Gli input specifici forniti a un'attività variano in base all'attività.
Esempio:
tasks:
- name: winget
parameters:
package: GitHub.GitHubDesktop
Tutte le attività supportano la timeout proprietà , che è facoltativa.
Esempio:
tasks:
- name: powershell
timeout: 1800 # in seconds
parameters:
command: <command>
Attività integrate
PowerShell e WinGet sono disponibili come attività predefinite. È possibile richiamarli direttamente senza collegare un catalogo a livello di dev center che definisce l'implementazione di queste attività.
Attività predefinita WinGet
Questa attività predefinita applica una configurazione WinGet alla casella di sviluppo.
Parametri:
configurationFile:- Tipo:
string - Percorso del file YAML di configurazione WinGet. Il file deve trovarsi nel computer locale.
- Obbligatorio:
false
- Tipo:
downloadUrl:- Tipo:
string - URL accessibile pubblicamente in cui è archiviato il file YAML di configurazione. Il file viene scaricato nel percorso specificato
configurationFile. - Obbligatorio:
false
- Tipo:
inlineConfigurationBase64:- Tipo:
string - Stringa con codifica Base64 del file YAML di configurazione WinGet. Il file viene decodificato nel percorso che
configurationFilespecifica o in un file temporaneo, se non è specificato. - Obbligatorio:
false
- Tipo:
package:- Tipo:
string - Nome del pacchetto da installare.
- Se viene fornito un file YAML di configurazione con altri parametri, il nome del pacchetto non è necessario.
- Obbligatorio:
false
- Tipo:
version- Tipo:
string - Versione del pacchetto da installare.
- Se un file YAML di configurazione viene fornito con altri parametri, non è necessario usare la versione del pacchetto.
- Obbligatorio:
false
- Tipo:
Attività predefinita di PowerShell
Questa attività predefinita esegue un comando di PowerShell.
Parametri:
-
command:- Tipo:
string - Comando da eseguire.
- Obbligatorio:
true
- Tipo:
File task.yaml
Le attività di personalizzazione sono unità riutilizzabili di codice di installazione o configurazione dell'ambiente. Gli sviluppatori usano script di PowerShell per scriverli e usare un task.yaml file di metadati per descriverli. Gli sviluppatori usano queste attività per personalizzare una casella di sviluppo facendo riferimento a essi da un devbox.yaml file.
Quando si definiscono le attività di personalizzazione, è possibile identificare le attività disponibili per gli sviluppatori per l'uso nei devbox.yaml file. È possibile limitare le azioni con privilegi elevati, ad esempio la possibilità di eseguire qualsiasi comando di PowerShell.
L'esempio seguente di definizione di un'attività esegue un comando di PowerShell in una directory di lavoro specifica:
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
Attributi
nome
Obbligatorio: Questo identificatore univoco viene usato per fare riferimento a un'attività da devbox.yaml. Il nome deve essere univoco nel contesto del catalogo in cui è presente l'attività.
La denominazione deve corrispondere ai vincoli esistenti delle risorse di Azure. Il nome deve essere compreso tra 3 e 63 caratteri. Deve iniziare con un carattere alfanumerico. Il nome deve essere costituito solo da caratteri alfanumerici e "-", "." o "_". Il carattere "/" è riservato.
name: powershell
descrizione
Opzionale: Questo attributo descrive l'attività.
description: This task executes a powershell command
Ingressi
Obbligatorio: Questo attributo elenca i parametri che questa attività accetta come input da un devbox.yaml file e usa durante l'esecuzione del comando. Ogni elemento padre rappresenta il nome di un parametro e supporta queste chiavi:
-
type(obbligatorio): tipo di dati di input per questo parametro. Può esserestringoint. -
defaultValue(obbligatorio): il valore predefinito accetta questo parametro. -
required(obbligatorio): chiave che specifica se questo parametro è facoltativo o obbligatorio. -
description(obbligatorio): descrizione di ciò che questo parametro rappresenta.
inputs:
command:
type: string
defaultValue: ""
required: true
description: The command to execute
comando
Obbligatorio: Questo comando viene usato per soddisfare questa attività. La stringa di comando fornita viene eseguita in Windows PowerShell nel computer locale.
command: ".\runcommand.ps1
Variabili di riferimento nei comandi
Per fare riferimento ai parametri in un comando, specificare il nome della variabile tra parentesi graffe doppie, {{parameter_name}}ad esempio . I valori di queste variabili vengono interpolati prima dell'esecuzione del comando.
command: ".\runcommand.ps1 -command {{command}} -workingDirectory {{workingDirectory}}"
Timeout
Opzionale: Questa variabile specifica la quantità massima di tempo (in minuti) di attesa del completamento dell'esecuzione dell'attività prima del timeout dell'attività. Il valore predefinito è 30 minuti.
timeout: 30
autore
Opzionale: Questa variabile identifica l'autore dell'attività per facilitare i controlli e la risoluzione dei problemi.
author: Contoso Corporation
documentationURL
Opzionale: Questa variabile è collegata alla documentazione per questa attività.
documentationURL: "https://link.to/documentation"
licenseURL
Opzionale: Questa variabile è collegata alla licenza per questa attività.
licenseURL: "https://link.to/license"