Notes
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.
Vous pouvez utiliser l’extension Azure DevTest Labs Tasks pour intégrer Azure DevTest Labs dans des pipelines d’intégration et de livraison continues (CI/CD) Azure Pipelines. L’extension installe plusieurs tâches dans Azure Pipelines, notamment :
- Créer une machine virtuelle
- Créer une image personnalisée à partir d’une machine virtuelle
- Supprimer une machine virtuelle
Ces tâches facilitent, par exemple, le déploiement rapide d’une machine virtuelle d’image dorée , l’exécution d’un test spécifique, puis la suppression de la machine virtuelle.
Cet article explique comment utiliser des tâches Azure DevTest Labs pour créer et déployer une machine virtuelle, créer une image personnalisée, puis supprimer la machine virtuelle, le tout en tant que pipeline de mise en production. Normalement, vous effectuez ces tâches séparément dans vos propres pipelines de build, de test et de déploiement.
Commencez avec Azure DevTest Labs
Vous êtes un nouvel utilisateur d’Azure ? Créez un compte Azure gratuit.
Vous avez déjà un compte Azure ? Créez votre premier labo et commencez à utiliser Azure DevTest Labs en quelques minutes.
Prérequis
Dans le portail Azure, créez un laboratoire DevTest Labs ou utilisez-en un existant.
Inscrivez ou connectez-vous à votre organisation Azure DevOps Services , puis créez un projet ou utilisez un projet existant.
Installez l’extension Azure DevTest Labs Tasks à partir de Visual Studio Marketplace :
- Accédez à Azure DevTest Labs Tasks.
- Sélectionnez Obtenir gratuitement.
- Sélectionnez votre organisation Azure DevOps Services dans la liste déroulante, puis sélectionnez Installer.
Créer un modèle pour générer une machine virtuelle de labo
Tout d’abord, construisez un modèle Azure Resource Manager (ARM) qui crée une machine virtuelle de labo à la demande.
- Dans votre laboratoire dans le portail Azure, sélectionnez Ajouter dans la barre de menus supérieure.
- Dans l’écran Choisir une base , sélectionnez une image de base Windows pour la machine virtuelle.
- Dans l’écran Créer une ressource lab , sous Artefacts, sélectionnez Ajouter ou supprimer des artefacts.
- Dans l’écran Ajouter des artefacts , recherchez winrm, puis sélectionnez la flèche en regard de Configurer WinRM.
- Dans le volet Ajouter un artefact, entrez un nom de domaine complet (FQDN) pour la machine virtuelle, par exemple
contosolab00000000000000.westus3.cloudapp.azure.com
. Sélectionnez OK, puis sélectionnez OK à nouveau. - Sélectionnez l’onglet Paramètres avancés et, pour l’adresse IP, sélectionnez Public.
Remarque
Si vous utilisez l’artefact WinRM avec une adresse IP partagée, vous devez ajouter une règle de traduction d’adresses réseau (NAT) pour mapper un port externe au port WinRM. La règle NAT n’est pas requise si vous créez la machine virtuelle avec une adresse IP publique. Pour cette procédure pas à pas, créez la machine virtuelle avec une adresse IP publique.
- Sélectionnez Afficher le modèle ARM.
- Copiez le code du modèle et enregistrez-le sous la forme d’un fichier nommé CreateVMTemplate.json dans votre branche de contrôle de code source locale.
- Archivez le modèle dans votre système de contrôle de code source de votre projet.
Créer un script pour obtenir les propriétés d’une machine virtuelle
Ensuite, créez un script pour collecter les valeurs que les étapes de tâche telles qu’Azure File Copy et PowerShell sur les machines cibles utilisent pour déployer des applications sur des machines virtuelles. Normalement, vous utilisez ces tâches pour déployer vos propres applications sur vos machines virtuelles Azure. Les tâches requièrent des valeurs telles que le nom du groupe de ressources de la machine virtuelle, une adresse IP et un nom de domaine complet.
Remarque
Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour commencer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell d’AzureRM vers Az.
Enregistrez le script suivant avec un nom tel queGetLabVMParams.ps1, puis vérifiez-le dans le système de contrôle de code source de votre projet.
Param( [string] $labVmId)
$labVmComputeId = (Get-AzResource -Id $labVmId).Properties.ComputeId
# Get lab VM resource group name
$labVmRgName = (Get-AzResource -Id $labVmComputeId).ResourceGroupName
# Get the lab VM Name
$labVmName = (Get-AzResource -Id $labVmId).Name
# Get lab VM public IP address
$labVMIpAddress = (Get-AzPublicIpAddress -ResourceGroupName $labVmRgName -Name $labVmName).IpAddress
# Get lab VM FQDN
$labVMFqdn = (Get-AzPublicIpAddress -ResourceGroupName $labVmRgName -Name $labVmName).DnsSettings.Fqdn
# Set a variable labVmRgName to store the lab VM resource group name
Write-Host "##vso[task.setvariable variable=labVmRgName;]$labVmRgName"
# Set a variable labVMIpAddress to store the lab VM Ip address
Write-Host "##vso[task.setvariable variable=labVMIpAddress;]$labVMIpAddress"
# Set a variable labVMFqdn to store the lab VM FQDN name
Write-Host "##vso[task.setvariable variable=labVMFqdn;]$labVMFqdn"
Créer un pipeline de mise en production dans Azure Pipelines
Ensuite, créez le pipeline de mise en production dans Azure Pipelines. Les tâches de pipeline utilisent les valeurs que vous avez affectées à la machine virtuelle quand vous avez créé le modèle ARM.
- Dans la page de votre projet Azure DevOps Services, sélectionnez Pipelines Releases> dans le volet de navigation gauche.
- Sélectionnez Nouveau pipeline.
- Dans le volet Sélectionner un modèle , sélectionnez Tâche vide.
- Fermez le volet Étape .
- Sur la page Nouveau pipeline de mise en production, sélectionnez l’onglet Variables.
- Sélectionnez Ajouter, puis entrez les paires Nom et Valeur suivantes, en sélectionnant Ajouter après avoir ajouté chacune d’elles.
- vmName : nom de machine virtuelle que vous avez affecté dans le modèle ARM.
- userName : nom d’utilisateur pour accéder à la machine virtuelle.
- mot de passe : mot de passe pour le nom d’utilisateur. Sélectionnez l’icône en forme de cadenas pour masquer et sécuriser le mot de passe.
Ajouter un artefact
- Sur la page du nouveau pipeline de publication, sous l’onglet Pipeline, sélectionnez Ajouter un artefact.
- Dans le volet Ajouter un artefact, sélectionnez Dépôt Azure.
- Dans la liste projet , sélectionnez votre projet DevOps.
- Dans la liste Source (référentiel), sélectionnez votre dépôt source.
- Dans la liste des branches par défaut, sélectionnez la branche à consulter.
- Sélectionnez Ajouter.
Créer une machine virtuelle DevTest Labs
L’étape suivante consiste à créer une machine virtuelle d'image dorée à utiliser pour les futurs déploiements. Cette étape utilise la tâche Créer une machine virtuelle Azure DevTest Labs .
Dans la nouvelle page de pipeline de mise en production, sous l’onglet Pipeline, sélectionnez le texte hyperlié dans Étape 1.
Dans le volet gauche, sélectionnez le signe + plus près de la tâche d'agent.
Sous Ajouter des tâches dans le volet droit, recherchez et sélectionnez Azure DevTest Labs Créer une machine virtuelle, puis sélectionnez Ajouter.
Dans le volet gauche, sélectionnez la tâche créer une machine virtuelle Azure DevTest Labs .
Dans le volet de droite, remplissez le formulaire comme suit :
Abonnement Azure RM : sélectionnez votre connexion de service ou votre abonnement dans la liste déroulante, puis sélectionnez Autoriser si nécessaire.
Remarque
Pour plus d’informations sur l’établissement d’une connexion avec des autorisations plus restreintes à votre abonnement Azure, consultez le point de terminaison de service Azure Resource Manager.
Labo : sélectionnez le nom de votre laboratoire DevTest Labs.
Nom de la machine virtuelle : variable que vous avez spécifiée pour le nom de votre machine virtuelle : $vmName.
Modèle : accédez au dépôt de votre projet et sélectionnez le fichier de modèle que vous avez archivé.
Fichier de paramètres : si vous avez vérifié un fichier de paramètres dans votre référentiel, accédez à celui-ci et sélectionnez-le.
Remplacements de paramètre : Saisissez
-newVMName '$(vmName)' -userName '$(userName)' -password '$(password)'
.Déroulez Variables de sortie, puis sous Nom de référence, entrez la variable de l'ID de la machine virtuelle de laboratoire créée. Entrez vm pour le nom de référence par souci de simplicité. labVmId sera un attribut de cette variable et sera appelé ultérieurement $vm.labVmId. Si vous utilisez un autre nom, n’oubliez pas de l’utiliser en conséquence dans les tâches suivantes.
L’ID du labo de la machine virtuelle va être de cette forme :
/subscriptions/{subscription Id}/resourceGroups/{resource group Name}/providers/Microsoft.DevTestLab/labs/{lab name}/virtualMachines/{vmName}
.
Collecter les détails de la machine virtuelle DevTest Labs
Ensuite, le pipeline exécute le script que vous avez créé pour collecter les détails de la machine virtuelle DevTest Labs.
- Sous l’onglet Tâches du pipeline de mise en production, sélectionnez le signe + plus à côté de la tâche de l'agent.
- Sous Ajouter des tâches dans le volet droit, recherchez et sélectionnez Azure PowerShell, puis sélectionnez Ajouter.
- Dans le volet gauche, sélectionnez le script Azure PowerShell : tâche FilePath .
- Dans le volet de droite, remplissez le formulaire comme suit :
- Abonnement Azure : sélectionnez votre connexion de service ou votre abonnement.
- Type de script : sélectionnez le chemin du fichier de script.
-
Chemin d’accès au script : accédez au script PowerShell que vous avez archivé dans votre référentiel de code source. Vous pouvez utiliser les propriétés intégrées pour simplifier le chemin, par exemple :
$(System.DefaultWorkingDirectory/Scripts/GetLabVMParams.ps1
. - Arguments de script : entrez la valeur sous la forme -labVmId $(vm.labVmId).
Le script collecte les valeurs requises et les stocke dans des variables d’environnement au sein du pipeline de mise en production afin que vous puissiez y faire référence dans les étapes suivantes.
Créer une image de machine virtuelle à partir de la machine virtuelle DevTest Labs
La tâche suivante crée une image de la machine virtuelle récemment déployée dans votre laboratoire. Vous pouvez utiliser l’image pour créer des copies de la machine virtuelle à la demande afin d’effectuer des tâches de développement ou d’exécuter des tests.
- Sous l’onglet Tâches du pipeline de publication, sélectionnez le signe + plus en regard de la tâche d'agent.
- Sous Ajouter des tâches, sélectionnez Azure DevTest Labs Créer une image personnalisée, puis sélectionnez Ajouter.
- Dans le volet gauche, sélectionnez la tâche Créer une image personnalisée Azure DevTest Labs .
- Dans le volet de droite, remplissez le formulaire comme suit :
- Abonnement Azure RM : sélectionnez votre connexion de service ou votre abonnement.
- Labo : sélectionnez votre laboratoire.
- Nom de l’image personnalisée : entrez un nom pour l’image personnalisée.
- Description : entrez une description facultative pour faciliter la sélection de l’image correcte.
- Machine virtuelle du laboratoire source : ID de la machine virtuelle labo source. Entrez la valeur $(vm.labVmId).
- Variables de sortie : vous pouvez modifier le nom de la variable d’ID d’image personnalisée par défaut si nécessaire.
Déployer votre application sur la nouvelle machine virtuelle DevTest Labs (facultatif)
Vous pouvez ajouter des tâches pour déployer votre application sur la nouvelle machine virtuelle DevTest Labs. Si vous souhaitez uniquement tester la création d’une machine virtuelle DevTest Labs et d’une image personnalisée, sans y déployer d’application, vous pouvez ignorer cette étape.
Les tâches que vous utilisez généralement pour déployer des applications sont Azure File Copy et PowerShell sur les machines cibles. Vous trouverez les informations de machine virtuelle dont vous avez besoin pour les paramètres de tâche dans trois variables de configuration nommées labVmRgName, labVMIpAddress et labVMFqdn dans le pipeline de mise en production.
Supprimer la machine virtuelle
La dernière tâche consiste à supprimer la machine virtuelle que vous avez déployée dans votre labo. Normalement, vous supprimez la machine virtuelle après avoir exécuté les tâches ou exécuté les tests dont vous avez besoin sur la machine virtuelle déployée.
- Sous l’onglet Tâches du pipeline de mise en production, sélectionnez le signe + plus à côté de la tâche d'agent.
- Sous Ajouter des tâches, sélectionnez Supprimer une machine virtuelle Azure DevTest Labs, puis sélectionnez Ajouter.
- Configurez la tâche comme indiqué ci-dessous :
- Abonnement Azure RM : sélectionnez votre connexion de service ou votre abonnement.
- Labo : sélectionnez votre laboratoire.
- Machine virtuelle : entrez la valeur $(vm.labVmId).
- Variables de sortie : sous le nom de référence, si vous avez modifié le nom par défaut de la variable labVmId , entrez-le ici. La valeur par défaut est $(labVmId).
Sauvegarder le pipeline de déploiement
Pour enregistrer le nouveau pipeline de mise en production :
- Sélectionnez Nouveau pipeline de mise en production en haut de la page du pipeline de mise en production, puis entrez un nouveau nom pour le pipeline.
- Sélectionnez Enregistrer en haut à droite.
Créer et exécuter une version
Pour créer et exécuter une mise en version à l’aide du nouveau pipeline :
- Dans la page du pipeline de mise en production, sélectionnez Créer une mise en production en haut à droite.
- Sous Artefacts, sélectionnez la dernière build, puis sélectionnez Créer.
À chaque étape de la mise en production, vous pouvez actualiser l’affichage de votre labo dans le portail Azure pour afficher la création de la machine virtuelle, la création de l’image et la suppression de la machine virtuelle.
Vous pouvez utiliser l’image personnalisée pour créer des machines virtuelles quand vous en avez besoin.
Étapes suivantes
- Explorez d’autres modèles ARM de démarrage rapide pour l’automatisation DevTest Labs à partir du dépôt GitHub DevTest Labs public.
- Si nécessaire, consultez la résolution des problèmes d’Azure Pipelines.