Ajouter et configurer une définition d’environnement

Ce guide explique comment ajouter ou mettre à jour une définition d’environnement dans un catalogue Environnements de déploiement Azure.

Dans Environnements de déploiement Azure, vous pouvez utiliser un catalogue pour fournir à vos équipes de développement un ensemble curé de modèles IaC (Infrastructure as Code) prédéfinis appelés définitions d’environnement.

Une définition d’environnement est composée d’au moins deux fichiers :

  • Un modèle d’une infrastructure IaC. Par exemple :
    • Un modèle ARM (Azure Resource Manager) peut utiliser un fichier appelé azuredeploy.json.
    • Un modèle Bicep peut utiliser un fichier appelé azuredeploy.bicep.
    • Un modèle Terraform peut utiliser un fichier appelé azuredeploy.tf ou azuredeploy.tf.json.
  • Un fichier de configuration qui fournit des métadonnées sur le modèle. Ce fichier doit être nommé environment.yaml.

Vos équipes de développement utilisent les définitions d’environnement que vous fournissez dans le catalogue pour déployer des environnements dans Azure.

Microsoft propose un exemple de catalogue que vous pouvez utiliser comme référentiel. Vous pouvez également utiliser votre propre référentiel privé, ou dupliquer (fork) et personnaliser les définitions d’environnement dans l’exemple de catalogue.

Une fois que vous ajoutez un catalogue à votre centre de développement, le service analyse le chemin d’accès au dossier spécifié pour identifier les dossiers contenant un modèle et un fichier d’environnement associé. Le chemin d’accès au dossier spécifié doit être un dossier contenant des sous-dossiers où se trouvent les fichiers de définition d’environnement.

Dans cet article, vous apprendrez comment :

  • Ajouter une définition d’environnement
  • Mettre à jour une définition d’environnement
  • Supprimer une définition d’environnement

Ajouter une définition d’environnement

Pour ajouter une définition d’environnement à un catalogue dans Environnements de déploiement Azure (ADE), vous devez commencer par ajouter les fichiers au référentiel. Vous devez ensuite synchroniser le catalogue du centre de développement avec le référentiel mis à jour.

Pour ajouter une définition d’environnement :

  1. Dans votre référentiel GitHub ou Azure DevOps, créez un sous-dossier dans le chemin d’accès au dossier du référentiel.

  2. Ajoutez deux fichiers au nouveau sous-dossier de référentiel :

    • Un fichier de modèle IaC.

    • Un environnement sous forme de fichier YAML.

      Le fichier environment.yaml contient des métadonnées liées au modèle IaC.

      Le script suivant présente un exemple du contenu d’un fichier environment.yaml pour un modèle ARM :

          name: WebApp
          version: 1.0.0
          summary: Azure Web App Environment
          description: Deploys a web app in Azure without a datastore
          runner: ARM
          templatePath: azuredeploy.json
      

      Utilisez le tableau suivant pour comprendre les champs du fichier environment.yaml :

      Champ Description
      name Nom de la définition d’environnement.
      version Version de la définition d’environnement. Ce champ est facultatif.
      résumé Brève description de la définition d’environnement.
      description Description détaillée de la définition d’environnement.
      runner Infrastructure IaC utilisée par le modèle. La valeur peut être ARM ou Bicep. Vous pouvez également spécifier un chemin d’accès à un modèle stocké dans un registre de conteneurs.
      templatePath Chemin d’accès au fichier de modèle IaC.

      Pour en savoir plus sur les options et les types de données que vous pouvez utiliser dans environment.yaml, consultez Paramètres et types de données dans environment.yaml.

  3. Dans votre centre de développement, accédez à Catalogues, sélectionnez le référentiel, puis sélectionnez Synchroniser.

    Capture d’écran montrant comment synchroniser le catalogue

Le service analyse le référentiel pour trouver de nouvelles définitions d’environnement. Une fois que vous avez synchronisé le référentiel, de nouvelles définitions d’environnement sont disponibles pour tous les projets dans le centre de développement.

Spécifier une image Terraform

Le modèle d’extensibilité ADE vous permet d’utiliser votre propre image conteneur personnalisée pour déployer votre infrastructure IaC préférée. Vous pouvez générer et utiliser votre propre image conteneur pour exécuter des déploiements à l’aide de Terraform. Découvrez comment configurer une image conteneur pour exécuter des déploiements avec Terraform.

Lors de la création de définitions d’environnement qui utilisent une image personnalisée dans leur déploiement, la propriété runner fournit un lien vers un registre de conteneurs où cette image conteneur est stockée.

La propriété runner spécifie l’emplacement de l’image à utiliser. Lorsque vous utilisez une image Terraform à partir d’un registre de conteneurs, modifiez la propriété runner pour spécifier l’emplacement de cette image, comme illustré dans l’exemple suivant :

runner: "{YOUR_REGISTRY}.azurecr.io/{YOUR_REPOSITORY}:{YOUR_TAG}"

Spécifier une image ARM ou Bicep

Pour vous aider à démarrer, l’équipe ADE fournit des exemples de modèles ARM et Bicep accessibles via le Registre des artefacts Microsoft (également appelé Microsoft Container Registry). Lorsque vous effectuez des déploiements avec ARM ou Bicep, vous pouvez utiliser l’image standard publiée sur le Registre des artefacts Microsoft (précédemment appelé Microsoft Container Registry).

Pour utiliser l’exemple d’image publié sur le Registre des artefacts Microsoft, utilisez l’identificateur runner: ARM pour les déploiements ARM et l’identificateur runner:Bicep pour les déploiements Bicep.

Pour plus d’informations sur la génération et l’utilisation d’images conteneur ARM ou Bicep dans des définitions d’environnement, consultez Configurer une image conteneur pour exécuter des déploiements avec ARM et Bicep.

Spécifier des paramètres pour une définition d’environnement

Vous pouvez spécifier des paramètres pour vos définitions d’environnement afin de permettre aux développeurs de personnaliser leurs environnements.

Les paramètres sont définis dans le fichier environment.yaml.

Le script suivant est un exemple de fichier environment.yaml pour un modèle ARM qui comprend deux paramètres, location et name :

name: WebApp
summary: Azure Web App Environment
description: Deploys a web app in Azure without a datastore
runner: ARM
templatePath: azuredeploy.json
parameters:
- id: "location"
  name: "location"
  description: "Location to deploy the environment resources"
  default: "[resourceGroup().location]"
  type: "string"
  required: false
- id: "name"
  name: "name"
  description: "Name of the Web App "
  default: ""
  type: "string"
  required: false

Pour en savoir plus sur les paramètres et les types de données que vous pouvez utiliser dans environment.yaml, consultez Paramètres et types de données dans environment.yaml.

Les développeurs peuvent fournir des valeurs pour des paramètres spécifiques pour leurs environnements via le portail des développeurs.

Capture d’écran du portail des développeurs montrant le volet des paramètres.

Les développeurs peuvent également fournir des valeurs pour des paramètres spécifiques pour leurs environnements via l’interface CLI.

az devcenter dev environment create --environment-definition-name
                                    --catalog-name
                                    --dev-center
                                    --environment-name
                                    --environment-type
                                    --project
                                    [--description]
                                    [--no-wait]
                                    [--parameters]
                                    [--tags]
                                    [--user]
                                    [--user-id]

Pour en savoir plus sur la commande az devcenter dev environment create, consultez l’extension Azure CLI devcenter.

Mettre à jour une définition d’environnement

Pour modifier la configuration de ressources Azure dans une définition d’environnement existante dans le service Environnements de déploiement Azure, mettez à jour le fichier de modèle associé dans le référentiel. Le changement est immédiatement reflété lorsque vous créez un environnement avec la définition d’environnement spécifique. La mise à jour est également appliquée lorsque vous redéployez un environnement associé à cette définition d’environnement.

Pour mettre à jour les métadonnées liées au modèle, modifiez environment.yaml, puis mettez à jour le catalogue.

Supprimer une définition d’environnement

Pour supprimer une définition d’environnement existante, dans le référentiel, supprimez le sous-dossier contenant le fichier de modèle et le fichier YAML d’environnement associé. Ensuite, mettez à jour le catalogue.

Si vous supprimez une définition d’environnement, les équipes de développement ne peuvent plus utiliser la définition d’environnement spécifique pour déployer un nouvel environnement. Mettez à jour la référence des définitions d’environnement de tous les environnements existants qui utilisent la définition d’environnement supprimée. Si la référence n’est pas mise à jour et que l’environnement est redéployé, le déploiement échoue.