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.
Utilisez la fonctionnalité de personnalisations Microsoft Dev Box pour simplifier la configuration des environnements de développement basés sur le cloud. Le démarrage d’un nouveau projet ou la jonction d’une nouvelle équipe peut être complexe et fastidieux. Les personnalisations d’équipe utilisent un fichier de définition d’image (imagedefinition.yaml) pour préinstaller les outils, cloner les dépôts et définir des paramètres pour chaque zone de développement d’un pool. Avec des personnalisations d’équipe, les administrateurs peuvent fournir des stations de travail prêtes à coder avec des applications, des outils, des référentiels, des bibliothèques de code, des packages et des scripts de génération. Cet article vous montre comment créer, tester et modifier un fichier de définition d’image pour votre zone de développement dans Visual Studio Code.
Vous pouvez utiliser des personnalisations dans Dev Box de deux façons. Les personnalisations d’équipe créent une configuration partagée pour une équipe. Les personnalisations utilisateur créent une configuration personnelle pour un développeur individuel. La liste suivante résume les différences entre ces types de personnalisation.
- Personnalisations d’équipe : définies une fois, appliquées à chaque zone de développement d’un pool via imagedefinition.yaml dans un catalogue.
- Personnalisations des utilisateurs : YaML personnel chargé lors de la création de la boîte; n’affecte qu’une seule zone.
- Utilisez l’équipe pour la cohérence et la conformité; utilisez l’utilisateur pour les préférences personnelles.
Pour en savoir plus, consultez les personnalisations de Microsoft Dev Box.
Configurez les personnalisations d’équipe en procédant comme suit :
Conditions préalables
| Produit | Spécifications |
|---|---|
| Microsoft Dev Box | - Configurez un centre de développement avec un pool de boîtes de développement et un projet de zone de développement pour pouvoir créer une zone de développement.
– Attachez un catalogue au centre de développement avec des tâches que vous pouvez utiliser dans votre fichier de définition d’image. Si vous n’avez pas de catalogue, consultez Ajouter et configurer un catalogue à partir de GitHub ou d’Azure Repos. -Autorisations - Pour créer une zone de développement : Rejoignez le groupe de sécurité Dev Box Users pour au moins un projet. - Pour activer les catalogues au niveau du projet pour un centre de développement : Ingénieur de plateforme disposant d’un accès en écriture sur l’abonnement. - Pour activer les paramètres de synchronisation de catalogue pour un projet : Ingénieur de plateforme disposant d’un accès en écriture sur l’abonnement. - Pour attacher un catalogue à un projet : Autorisations d’administrateur de projet ou contributeur du Centre de développement sur le projet. |
| Visual Studio Code | - Installer la dernière version |
Créer un fichier de définition d’image
Pour définir les outils, packages et configurations dont votre équipe a besoin, créez un fichier de définition d’image au format YAML qui répertorie les tâches requises pour votre environnement de zone de développement.
Utiliser des tâches intégrées ou un catalogue pour les tâches personnalisées
Les tâches sont des actions réutilisables provenant de primitives intégrées (WinGet, PowerShell et Git-Clone) ou d’un catalogue que vous attachez à votre projet de centre de développement. Choisissez la source qui correspond le mieux à vos besoins de personnalisation et à vos besoins en matière de projet.
Utilisez WinGet, PowerShell et Git-Clone tâches intégrées. Les centres de développement Dev Box prennent en charge nativement les tâches PowerShell et WinGet. Si vos personnalisations nécessitent uniquement PowerShell, WinGet ou Git-Clone vous pouvez commencer avec ces tâches intégrées et créer votre fichier de définition d’image. Pour plus d’informations, consultez Créer un fichier de définition d’image.
Important
La tâche intégrée WinGet n’est pas la même que l’exécutable WinGet. La tâche intégrée WinGet est basée sur l’applet de commande WinGet PowerShell.
Utilisez un catalogue pour définir des tâches personnalisées. Créez vos propres tâches personnalisées. Pour rendre les tâches personnalisées disponibles pour l’ensemble de votre organisation, joignez un catalogue contenant des définitions de tâches personnalisées à votre centre de développement. Dev Box prend en charge les catalogues Azure Repos et GitHub. Étant donné que les tâches sont définies uniquement au centre de développement, stockez les tâches et les définitions d’images dans des référentiels distincts.
Pour en savoir plus sur la définition de tâches personnalisées, consultez Configurer des tâches pour les personnalisations Dev Box.
Dev Box prend en charge un flux de travail agentique avec le mode agent GitHub Copilot. Utilisez des requêtes de langage naturel pour générer le fichier de définition d’image (imagedefinition.yaml). GitHub Copilot facilite la configuration de votre environnement Dev Box, car vous décrivez vos besoins au lieu de créer manuellement des fichiers YAML.
Le flux de travail agentique Dev Box vous permet de :
- Imiter votre environnement de développement actuel : générez ou modifiez une définition qui correspond à la configuration de votre ordinateur actuel.
- Utilisez le contexte du référentiel : créez ou modifiez une définition dans le contexte d’un dépôt GitHub spécifique.
- Utilisez des instructions en langage naturel : générez un fichier de définition d’image en décrivant l’environnement de développement souhaité.
Note
Le flux de travail agentique prend uniquement en charge les tâches primitives Dev Box, notamment WinGet, PowerShell et Git-Clone.
Générez le fichier de définition d’image
Ouvrez Visual Studio Code.
Installez l’extension Dev Box.
Ouvrez extensions (Ctrl+Maj+X), recherchez Dev Box et installez l’extension.
Installez l’extension GitHub Copilot configurée dans VS Code.
Assurez-vous que le mode agent est activé en définissant chat.agent.enabled dans l’éditeur Paramètres. Ce paramètre nécessite Visual Studio Code 1.99 ou version ultérieure.
Ouvrez Copilot Chat dans VS Code.
Vérifiez que les outils Dev Box sont préélectionnés sous Sélectionner des outils.
Sélectionnez Mode Agent, puis choisissez le modèle : Claude 3.5 Sonnet.
Fournissez des requêtes en langage naturel, telles que :
« Je souhaite configurer une zone de développement avec tous les outils et packages nécessaires pour travailler sur ce dépôt [nom du dépôt] ».
« Je souhaite préinstaller Visual Studio 2022 Enterprise, Visual Studio Code, Git, .NET SDK 8, Node.js LTS et Docker Desktop sur une zone de développement, et avoir le dépôt [URL] de l’équipe cloné sur la zone de développement. »
« Je souhaite configurer une zone de développement avec tous les outils et packages de développement installés sur mon ordinateur actuel. »
Conseil / Astuce
Clonez et ouvrez le dépôt spécifique dans Visual Studio Code si vous souhaitez générer la définition dans le contexte d’un référentiel.
Suivez les requêtes pour configurer des packages.
Lorsque vous y êtes invité(e), sélectionnez Continuer à suivre la configuration du package.
Copilot génère le fichier imagedefinition.yaml.
Affiner avec plus d’invites.
- Continuez à interagir avec l’agent jusqu’à ce que les outils et packages souhaités apparaissent dans le fichier.
Charger le fichier de définition d’image dans un référentiel
Vous pouvez utiliser un référentiel GitHub ou Azure Repos en tant que catalogue pour rendre votre fichier de définition d’image accessible à partir d’un projet de zone de développement. Chaque projet peut avoir un catalogue qui stocke plusieurs fichiers de définition d’image, que vous pouvez configurer sur les pools pour s’aligner sur les besoins de vos équipes de développeurs.
Une fois que vous avez un fichier de définition d’image que vous souhaitez utiliser, chargez-le dans un catalogue. Les sections suivantes vous montrent comment attacher votre catalogue à un projet et rendre votre définition d’image disponible pour la sélection lors de la configuration de vos pools de box de développement.
Configurer les définitions d’images au niveau du projet
Les projets vous aident à gérer efficacement les ressources Dev Box. Vous pouvez affecter à chaque équipe de développeur son propre projet pour organiser efficacement les ressources. Créez plusieurs définitions d’images dans votre référentiel de catalogues, chacune dans son propre dossier pour cibler différentes équipes de développement sous votre projet.
Activer les catalogues de niveau projet
Activez les catalogues au niveau du centre de développement avant d’ajouter un catalogue à un projet. Pour activer les catalogues au niveau du projet au niveau du centre de développement :
Dans le portail Azure, accédez à votre centre de développement.
Dans le menu de gauche, sous Paramètres, sélectionnez Paramètres du Centre de développement.
Sous Catalogues au niveau du projet, sélectionnez Activer les catalogues par projet, puis sélectionnez Appliquer.
Pour plus d’informations sur l’ajout de catalogues à des projets, consultez Ajouter et configurer un catalogue à partir de GitHub ou d’Azure Repos.
Configurer les paramètres de synchronisation de catalogue pour le projet
Configurez votre projet pour synchroniser les définitions d’images à partir du catalogue. Ce paramètre vous permet d’utiliser les définitions d’images dans le catalogue pour créer des pools de zone de développement.
Connectez-vous au portail Azure.
Dans la zone de recherche, entrez projets. Dans la liste des résultats, sélectionnez Projets.
Ouvrez le projet Dev Box dans lequel vous souhaitez configurer les paramètres de synchronisation du catalogue.
Sélectionnez Catalogues.
Sélectionnez Paramètres de synchronisation.
Dans le volet Paramètres de synchronisation, sélectionnez Définitions d’images, puis sélectionnez Enregistrer.
Joignez le catalogue qui contient le fichier de définition d’image
Pour utiliser un fichier de définition d’image, joignez le catalogue contenant le fichier à votre projet. Cela rend la définition d’image disponible pour la sélection lors de la configuration de vos pools de box de développement.
Le volet Définitions d’images affiche les définitions d’images que votre projet peut utiliser.
Pour savoir comment attacher des catalogues, consultez Ajouter et configurer un catalogue à partir de GitHub ou d’Azure Repos.
Configurer un pool de dev box pour utiliser une définition d’image
Laissez votre équipe de développement utiliser des personnalisations en configurant un pool de box de développement avec un fichier de définition d’image. Stockez le fichier de définition d’image dans un référentiel lié à votre projet en tant que catalogue. Spécifiez ce fichier comme définition d’image pour le pool et les personnalisations s’appliquent aux nouvelles zones de développement.
Procédez comme suit pour créer un pool de box de développement et spécifier une définition d’image :
Connectez-vous au portail Azure.
Dans la zone de recherche, entrez projets. Dans la liste des résultats, sélectionnez Projets.
Ouvrez le projet Dev Box auquel vous souhaitez associer le nouveau pool de dev box.
Sélectionnez les pools de Dev Box, puis sélectionnez Créer.
Sur le volet Créer un pool de dev box, entrez les valeurs suivantes :
Réglage Valeur Nom Attribuez un nom à votre pool. Le nom du pool est visible par les développeurs lorsqu’ils créent des zones de développement. Il doit être unique au sein d’un projet. Définition Cette zone répertorie les définitions d’images à partir de catalogues accessibles et de définitions de dev box. Sélectionnez un fichier de définition d’image. Connexion réseau Sélectionnez Déployer sur un réseau hébergé par Microsoft ou utilisez une connexion réseau existante. Activer l’authentification unique Sélectionnez Oui pour autoriser l’authentification unique pour les zones de développement de ce pool. L’authentification unique doit être configurée pour l’organisation. Pour plus d’informations, consultez Activer l’authentification unique pour les dev box. Privilèges de créateur de dev box Sélectionnez Administrateur local ou Utilisateur standard. Activer l’arrêt automatique La valeur par défaut est Oui. Sélectionnez Non pour désactiver la planification du démarrage automatique. Vous pouvez configurer une planification de démarrage automatique une fois le pool créé. Heure d’arrêt Sélectionnez une heure pour arrêter toutes les zones de développement du pool. Fuseau horaire Sélectionnez le fuseau horaire pour l’heure d’arrêt. Gestion des licences Cochez cette case pour confirmer que votre organisation dispose de licences Azure Hybrid Benefit à appliquer aux zones de développement de ce pool. Cliquez sur Créer.
Vérifiez que le nouveau pool de dev box apparaît dans la liste. Il se peut que vous deviez rafraîchir l’écran.
Créez une zone de développement à l’aide du portail des développeurs
Pour vérifier que les personnalisations à partir du fichier de définition d’image sont appliquées, créez une zone de développement dans le portail des développeurs Dev Box. Suivez les étapes de démarrage rapide : Créez et connectez-vous à une zone de développement à l’aide du portail des développeurs Dev Box. Connectez-vous ensuite à la nouvelle zone de développement et vérifiez que les personnalisations fonctionnent comme prévu.
Apportez des modifications au fichier de définition d’image et créez une zone de développement pour les tester. Lorsque vous êtes sûr que les personnalisations sont correctes, générez une image réutilisable.
Utiliser des scripts et des fichiers modulaires dans les personnalisations Dev Box
Les scripts et fichiers modulaires tels que les scripts PowerShell, les fichiers DSC (Desired State Configuration), les fichiers de configuration, les fichiers de texte ou les images peuvent être stockés dans un catalogue partagé afin de pouvoir réutiliser et normaliser les personnalisations Dev Box sur plusieurs images.
Ils sont conçus pour :
- Promouvoir la réutilisation dans plusieurs configurations Dev Box
- Réduire la surcharge de duplication et de maintenance
- Activer des pratiques de configuration cohérentes
Structure du catalogue
Les fichiers du même dossier que l’imagedefinition.yaml, ou dans ses sous-dossiers, sont copiés dans la zone de développement lors de la création. Vous pouvez utiliser ces fichiers lorsque vous exécutez des tâches de personnalisation.
Le diagramme suivant montre une structure de catalogue pour les scripts et fichiers modulaires dans les personnalisations Dev Box.
Au niveau supérieur, il existe un dossier de définitions d’images . À l’intérieur, vous trouverez des sous-dossiers de définition d’image tels que frontend-imagedef et backend-imagedef. Le dossier frontend-imagedef contient un fichier de script PowerShell. Le dossier backend-imagedef comprend un sous-dossier qui contient des fichiers DSC. Vous pouvez utiliser l’une ou l’autre structure pour stocker des scripts et d’autres fichiers.
Référencer des scripts ou des fichiers modulaires
Le fichier Définition d’image définit une liste de tâches qui s’exécutent dans le contexte système et userTasks qui s’exécutent après la première connexion sur la nouvelle zone de développement, dans le contexte utilisateur. Utilisez des noms d’affichage pour les tâches pour clarifier l’objectif de chaque tâche. Dans votre fichier de définition d’image, référencez les scripts modulaires que vous souhaitez exécuter ou les fichiers que vous souhaitez inclure.
$schema: "1.0"
name: "modular-script"
image: microsoftvisualstudio_visualstudioplustools_vs-2022-ent-general-win11-m365-gen2
description: "This definition shows examples of referencing PowerShell scripts and DSC configuration files."
tasks:
- name: ~/powershell
displayName: "Modular Script"
parameters:
script: C:\ProgramData\Microsoft\DevBoxAgent\ImageDefinitions\catalog-name\modular-script\contoso.ps1
- name: ~/winget
displayName: "Install VS Code"
parameters:
configurationFile: C:\ProgramData\Microsoft\DevBoxAgent\ImageDefinitions\catalog-name\modular-script\contoso.dsc.yaml
userTasks:
- name: ~/winget
displayName: "Install Insomnia"
parameters:
configurationFile: C:\ProgramData\Microsoft\DevBoxAgent\ImageDefinitions\catalog-name\modular-script\contoso-user.dsc.yaml
Dev Box valide que toutes les tâches font référence à l’intrinsèque (comme PowerShell ou WinGet) ou à une tâche disponible au niveau du devcenter. Il télécharge tous les fichiers de définition d’image dans un répertoire défini dans la nouvelle zone de développement, ainsi que les fichiers de tâche appropriés. Il exécute ensuite chaque tâche dans son répertoire de tâches téléchargé et charge l’état de la tâche à l’achèvement.
Étape suivante
Maintenant que vous disposez d’un fichier de définition d’image qui configure et crée des zones de développement pour votre équipe de développement, découvrez comment optimiser le temps de création des zones de développement avec l’imagerie du centre de développement.