Partager via


Ajouter et configurer une définition d’environnement

Cet article explique comment ajouter, mettre à jour ou supprimer une définition d’environnement dans un catalogue Environnements de déploiement Azure. Il explique également comment référencer une image conteneur pour déployer votre environnement.

Dans Environnements de déploiement Azure, vous utilisez 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é main.bicep.
    • Un modèle Terraform peut utiliser un fichier appelé azuredeploy.tf.
  • 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.

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.

Utiliser des images conteneur pour déployer des environnements

ADE utilise des images conteneur pour définir la façon dont les modèles pour les environnements de déploiement sont déployés. ADE prend en charge ARM et Bicep en mode natif. Vous pouvez donc configurer une définition d’environnement qui déploie des ressources Azure pour un environnement de déploiement en ajoutant les fichiers de modèle (azuredeploy.json et environment.yaml) à votre catalogue. ADE utilise ensuite une image conteneur ARM ou Bicep standard pour créer l’environnement de déploiement.

Vous pouvez créer des images conteneur personnalisées pour des déploiements d’environnement plus avancés. Par exemple, vous pouvez exécuter des scripts avant ou après le déploiement. ADE prend en charge les images conteneur personnalisées pour les déploiements d’environnement, qui peuvent aider à déployer des infrastructures IaC telles que Pulumi et Terraform.

Pour vous aider à démarrer, l’équipe ADE fournit des exemples d’images conteneur ARM et Bicep accessibles via le Registre des artefacts Microsoft (également appelé Microsoft Container Registry).

Pour plus d’informations sur la création d’une image conteneur personnalisée, consultez :

Spécifier l’exemple d’image conteneur ARM ou Bicep

Dans le fichier environment.yaml, la propriété Runner spécifie l’emplacement de l’image que vous souhaitez utiliser. Pour utiliser l’exemple d’image publié sur le Registre des artefacts Microsoft, utilisez l’exécuteur d’identificateurs respectifs, comme indiqué dans le tableau suivant.

Infrastructure IaC Valeur de l’exécuteur
ARM ARM
Bicep Bicep
Terraform Aucun exemple d’image. Utilisez plutôt une image conteneur personnalisée.

L’exemple suivant montre un exécuteur qui référence l’exemple d’image conteneur Bicep :

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

Spécifier une image conteneur personnalisée

Pour utiliser une image conteneur personnalisée stockée dans un référentiel, utilisez le format d’exécuteur suivant dans le fichier environment.yaml :

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

Modifiez la valeur de l’exécuteur pour référencer votre référentiel et votre image personnalisée, comme illustré dans l’exemple suivant :

    name: WebApp
    version: 1.0.0
    summary: Azure Web App Environment
    description: Deploys a web app in Azure without a datastore
    runner: "{YOUR_REGISTRY}.azurecr.io/{YOUR_REPOSITORY}:{YOUR_TAG}"
    templatePath: azuredeploy.json
Propriété Description
YOUR_REGISTRY Le registre qui stocke l’image personnalisée.
YOUR_REPOSITORY Votre référentiel sur ce registre.
YOUR_TAG Une balise telle qu’un numéro de version.

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.