Utiliser DevTest Labs dans les pipelines de build et de mise en production Azure Pipelines

Cet article fournit des informations sur la façon dont DevTest Labs peut être utilisé dans Azure Pipelines pipelines de génération et de mise en production.

Flux général

Le processus de base consiste à mettre en place un pipeline de build qui effectue les tâches suivantes :

  1. Générez le code de l’application.
  2. Créez l’environnement de base dans DevTest Labs.
  3. Mettez à jour l’environnement avec des informations personnalisées.
  4. Déployer l’application dans l’environnement DevTest Labs
  5. Testez le code.

Une fois la build terminée, le pipeline de mise en production utilisera les artefacts de build pour déployer la mise en lots ou la production.

L’une des conditions préalables nécessaires est que toutes les informations nécessaires pour recréer l’écosystème testé soient disponibles dans les artefacts de génération, y compris la configuration des ressources Azure. Comme Azure ressources entraînent un coût lorsqu’elles sont utilisées, les entreprises veulent contrôler ou suivre l’utilisation de ces ressources. Dans certains cas, Azure Resource Manager modèles utilisés pour créer et configurer les ressources peuvent être gérés par un autre service comme l’informatique. Ces modèles peuvent également être stockés dans un autre référentiel. Il conduit à une situation intéressante lors de la création et du test d’une build. Le code et la configuration doivent être stockés dans les artefacts de build pour recréer le système en production.

À l’aide de DevTest Labs pendant la phase de génération et de test, vous pouvez ajouter des modèles Azure Resource Manager et des fichiers de prise en charge aux sources de build. Pendant la phase de mise en production, vous déployez la configuration exacte que vous avez utilisée en production. La tâche Créer Azure DevTest Labs Environnement avec la configuration appropriée enregistre les modèles Resource Manager dans les artefacts de build. Pour cet exemple, vous utilisez le code du didacticiel : Créer une application web .NET Core et SQL Database dans Azure App Service, pour déployer et tester l’application web dans Azure.

Diagramme montrant le flux global.

Configurer des ressources Azure

Vous devez créer au préalable quelques éléments :

  • Deux référentiels. La première avec le code du didacticiel et un modèle Resource Manager avec deux machines virtuelles supplémentaires. La deuxième contient le modèle de base Azure Resource Manager (configuration existante).
  • Groupe de ressources pour le déploiement du code de production et de la configuration.
  • Un environnement de test avec une connexion au dépôt de configuration pour le pipeline de compilation. Archivez le modèle Azure Resource Manager dans le référentiel de configuration sous le nom azuredeploy.json avec le fichier metadata.json. Ce nom permet à DevTest Labs de reconnaître et de déployer le modèle.

Le pipeline de build crée un environnement DevTest Labs et déploie le code à des fins de test.

Configurer un pipeline de build

Dans Azure Pipelines, créez un pipeline de build à l’aide du code à partir du tutoriel : Créer une application web .NET Core et SQL Database dans Azure App Service. Utilisez le modèle ASP.NET Core, qui remplira la tâche nécessaire pour générer, tester et publier le code.

Capture d’écran montrant la sélection du modèle ASP.NET.

Ajoutez trois tâches supplémentaires pour créer l’environnement dans DevTest Labs et déployer dans l’environnement.

Capture d’écran montrant un pipeline avec trois tâches.

Créer une tâche d’environnement

Dans la tâche Azure DevTest Labs Créer un environnement, utilisez les listes déroulantes pour sélectionner les valeurs suivantes :

  • Abonnement Azure
  • Nom du labo
  • Nom du référentiel
  • Nom du modèle (qui affiche le dossier dans lequel l’environnement est stocké).

Nous vous recommandons d’utiliser des listes déroulantes sur la page au lieu d’entrer manuellement les informations. Si vous entrez manuellement les informations, entrez des ID de ressource Azure complets. La tâche affiche les noms conviviaux au lieu des ID de ressource.

Le nom de l’environnement est le nom affiché dans DevTest Labs. Il doit s’agir d’un nom unique pour chaque build. Par exemple : TestEnv$(Build.BuildId).

Vous pouvez spécifier le fichier de paramètres ou les paramètres pour transmettre des informations dans le modèle Resource Manager.

Sélectionnez l’option Créer des variables de sortie en fonction de la sortie du modèle d’environnement et entrez un nom de référence. Pour cet exemple, entrez BaseEnv pour le nom de référence. Vous utilisez ce BaseEnv lors de la configuration de la tâche suivante.

Capture d’écran montrant la tâche Créer Azure DevTest Labs Environnement.

Tâche Peupler l’environnement

La deuxième tâche (tâche Azure DevTest Labs Populate Environment) consiste à mettre à jour l’environnement DevTest Labs existant. La tâche Créer un environnement génère BaseEnv.environmentResourceId utilisé pour configurer le nom de l’environnement pour cette tâche. Le modèle Resource Manager pour cet exemple comporte deux paramètres : adminUserName et adminPassword.

Capture d’écran montrant la tâche Remplir l’environnement Azure DevTest Labs.

Tâche de déploiement d’App Service

La troisième tâche est la tâche Azure App Service Déployer. Le type d’application est défini sur Application web et le nom App Service est défini sur $(WebSite).

Capture d’écran affichant la tâche App Service Deploy.

Configurer le pipeline de mise en production

Vous créez un pipeline de mise en production avec deux tâches : Azure Déploiement : Créer ou mettre à jour un groupe de ressources et déployer Azure App Service.

Pour la première tâche, spécifiez le nom et l’emplacement du groupe de ressources. L’emplacement du modèle est un artefact lié. Si le modèle Resource Manager inclut des modèles liés, vous devez implémenter un déploiement de groupe de ressources personnalisé. Le modèle se trouve dans l’artefact de dépôt publié. Remplacez les paramètres de modèle pour le modèle Resource Manager. Vous pouvez conserver les paramètres restants avec des valeurs par défaut.

Pour la deuxième tâche Déployer Azure App Service, spécifiez l’abonnement Azure, sélectionnez Application web pour le type d’application et $(WebSite) pour le nom App Service. Vous pouvez conserver les paramètres restants avec des valeurs par défaut.

Exécution de test

Maintenant que les deux pipelines sont configurés, vous pouvez mettre en file d’attente une build manuellement et la voir fonctionner. L’étape suivante consiste à définir le déclencheur approprié pour la build et à connecter la build au pipeline de mise en production.

Étapes suivantes

Consultez les articles suivants :