Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article de référence fournit des informations détaillées sur les imagedefinition.yaml fichiers utilisés task.yaml pour personnaliser Microsoft Dev Box. Les développeurs peuvent utiliser ces fichiers YAML pour définir des tâches pour l’approvisionnement et la configuration des zones de développement. Les fichiers permettent de garantir la cohérence et l’efficacité dans les environnements de développement. Cet article traite du schéma, des attributs requis et des exemples pour les deux types de fichiers, ainsi que les tâches intégrées telles que PowerShell et WinGet.
Fichiers Imagedefinition.yaml
Vous pouvez utiliser un fichier YAML Dev Box pour définir des tâches de personnalisation qui doivent s’exécuter lors de la création de Dev Box. Un devbox.yaml fichier peut se trouver dans le même référentiel que la source principale utilisée par l’équipe de développement, ou le fichier peut se trouver dans un référentiel centralisé de configurations.
Exemple de définition d’image YAML :
$schema: 1.0
name: project-sample-1
image: MicrosoftWindowsDesktop_windows-ent-cpc_win11-21h2-ent-cpc-m365
tasks:
- name: "powershell"
inputs:
command:
nom
Obligatoire: Ce nom convivial pour la définition d’image est associé à ce devbox.yaml fichier. Ce paramètre contrôle le nom de la définition d’image disponible lorsque vous créez et mettez à jour des pools.
name: myVSDevBox
image
Obligatoire: L’image que vous souhaitez utiliser comme image de base pour votre définition d’image peut être une image de la Place de marché :
image: MicrosoftWindowsDesktop_windows-ent-cpc_win11-21h2-ent-cpc-m365
Ou il peut s’agir d’une image personnalisée à partir d’une instance azure Compute Gallery attachée :
image: galleryname/imagename@version
Pour savoir comment attacher une instance azure Compute Gallery à votre centre de développement, consultez Configurer La galerie de calcul Azure pour Microsoft Dev Box.
Pour obtenir la liste des images auxquelles votre centre de développement a accès, utilisez cette az cli commande :
az devcenter admin image list --dev-center-name CustomizationsImagingHQ --resource-group TeamCustomizationsImagingRG --query "[].name"
Vous avez besoin de l’extension du centre az cli de développement :
az extension add --name devcenter
buildProperties
Cette collection d’objets est constituée de propriétés de build qui peuvent être utilisées pour personnaliser le processus de génération de l’image.
networkConnection
Optionnel: Spécifie la connexion réseau à utiliser lors de la création de l’image. Cette connexion réseau permet aux tâches de personnalisation d’accéder aux ressources, telles que les comptes de stockage ou les référentiels, accessibles à partir du réseau spécifié. La connexion réseau doit être attachée au Centre de développement avant de pouvoir être utilisée pour la création d’images.
Exemple:
buildProperties:
networkConnection: "my-westus3"
tâches
Obligatoire: Cette collection d’objets est constituée de tâches de personnalisation Dev Box à exécuter lorsque vous approvisionnez une zone de développement. Les entrées spécifiques fournies à une tâche varient selon la tâche.
Exemple:
tasks:
- name: winget
parameters:
package: GitHub.GitHubDesktop
Toutes les tâches prennent en charge la timeout propriété, qui est facultative.
Exemple:
tasks:
- name: powershell
timeout: 1800 # in seconds
parameters:
command: <command>
Tâches intégrées
PowerShell et WinGet sont disponibles en tant que tâches intégrées. Vous pouvez les appeler directement sans attacher un catalogue au niveau du centre de développement qui définit l’implémentation de ces tâches.
Tâche intégrée WinGet
Cette tâche intégrée applique une configuration WinGet à la zone de développement.
Paramètres :
configurationFile:- Entrez :
string - Chemin d’accès au fichier YAML de configuration WinGet. Le fichier doit se trouver sur l’ordinateur local.
- Obligatoire:
false
- Entrez :
downloadUrl:- Entrez :
string - URL accessible publiquement dans laquelle le fichier YAML de configuration est stocké. Le fichier est téléchargé sur le chemin d’accès spécifié
configurationFile. - Obligatoire:
false
- Entrez :
inlineConfigurationBase64:- Entrez :
string - Chaîne encodée en base64 du fichier YAML de configuration WinGet. Le fichier est décodé vers le chemin d’accès qui
configurationFilespécifie ou vers un fichier temporaire s’il n’est pas spécifié. - Obligatoire:
false
- Entrez :
package:- Entrez :
string - Nom du package à installer.
- Si un fichier YAML de configuration est fourni sous d’autres paramètres, le nom du package n’est pas nécessaire.
- Obligatoire:
false
- Entrez :
version- Entrez :
string - Version du package à installer.
- Si un fichier YAML de configuration est fourni sous d’autres paramètres, il n’est pas nécessaire de disposer de la version du package.
- Obligatoire:
false
- Entrez :
Tâche intégrée PowerShell
Cette tâche intégrée exécute une commande PowerShell.
Paramètres :
-
command:- Entrez :
string - Commande à exécuter.
- Obligatoire:
true
- Entrez :
fichiers task.yaml
Les tâches de personnalisation sont des unités réutilisables de configuration du code d’installation ou de l’environnement. Les développeurs utilisent des scripts PowerShell pour les écrire et utiliser un task.yaml fichier de métadonnées pour les décrire. Les développeurs utilisent ces tâches pour personnaliser une zone de développement en les référençant à partir d’un devbox.yaml fichier.
Lorsque vous définissez des tâches de personnalisation, vous pouvez identifier les tâches disponibles pour vos développeurs à utiliser dans devbox.yaml des fichiers. Vous pouvez restreindre les actions à privilèges élevés, telles que la possibilité d’exécuter n’importe quelle commande PowerShell.
L’exemple suivant d’une définition de tâche exécute une commande PowerShell dans un répertoire de travail spécifique :
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
Attributs
nom
Obligatoire: Cet identificateur unique est utilisé pour faire référence à une tâche à partir de devbox.yaml. Le nom doit être unique dans le contexte du catalogue où existe la tâche.
Le nommage doit correspondre aux contraintes de ressources Azure existantes. Le nom doit être compris entre 3 et 63 caractères. Il doit commencer par un caractère alphanumérique. Le nom doit comporter uniquement des caractères alphanumériques et « - », « ». ou « _ ». Le caractère « / » est réservé.
name: powershell
descriptif
Optionnel: Cet attribut décrit la tâche.
description: This task executes a powershell command
entrées
Obligatoire: Cet attribut répertorie les paramètres que cette tâche prend en tant qu’entrée à partir d’un devbox.yaml fichier et utilise pendant qu’elle exécute la commande. Chaque élément parent représente le nom d’un paramètre et prend en charge ces clés :
-
type(obligatoire) : type de données d’entrée pour ce paramètre. Peut êtrestringouint. -
defaultValue(obligatoire) : valeur par défaut que prend ce paramètre. -
required(obligatoire) : clé qui spécifie si ce paramètre est facultatif ou obligatoire. -
description(obligatoire) : description de ce que représente ce paramètre.
inputs:
command:
type: string
defaultValue: ""
required: true
description: The command to execute
ordre
Obligatoire: Cette commande est utilisée pour effectuer cette tâche. La chaîne de commande fournie s’exécute dans Windows PowerShell sur l’ordinateur local.
command: ".\runcommand.ps1
Variables de référence dans les commandes
Pour référencer des paramètres dans une commande, spécifiez le nom de la variable dans les accolades doubles, par exemple {{parameter_name}}. Les valeurs de ces variables sont interpolées avant l’exécution de votre commande.
command: ".\runcommand.ps1 -command {{command}} -workingDirectory {{workingDirectory}}"
Délai d'attente
Optionnel: Cette variable spécifie la durée maximale (en minutes) d’attente de l’exécution de la tâche avant l’expiration de la tâche. La valeur par défaut est de 30 minutes.
timeout: 30
auteur
Optionnel: Cette variable identifie l’auteur de tâche pour faciliter les audits et la résolution des problèmes.
author: Contoso Corporation
documentationURL
Optionnel: Cette variable est liée à la documentation de cette tâche.
documentationURL: "https://link.to/documentation"
licenseURL
Optionnel: Cette variable est liée à la licence pour cette tâche.
licenseURL: "https://link.to/license"