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 d’environnements de déploiement Azure. Il explique également comment référencer une image conteneur pour déployer votre environnement.

Dans les environnements de déploiement, vous utilisez un catalogue pour fournir à vos équipes de développement un ensemble organisé de modèles d’infrastructure prédéfinis en tant que code (IaC) appelés définitions d’environnement.

Une définition d’environnement se compose d’au moins deux fichiers :

  • Modèle à partir d’une infrastructure IaC. Par exemple:
    • Un modèle Azure Resource Manager (ARM) peut utiliser un fichier appelé azuredeploy.json.
    • Un fichier Bicep peut utiliser un fichier appelé main.bicep.
    • Un modèle Terraform peut utiliser un fichier appelé azuredeploy.tf.
  • 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 fournit un exemple de catalogue que vous pouvez utiliser comme dépôt. Vous pouvez également utiliser votre propre référentiel privé, ou vous pouvez dupliquer et personnaliser les définitions d’environnement dans l’exemple de catalogue.

Après avoir ajouté un catalogue à votre centre de développement, le service analyse le chemin d’accès au dossier spécifié pour identifier les dossiers qui contiennent un modèle et un fichier d’environnement associé. Le chemin d’accès au dossier spécifié doit être un dossier qui contient des sous-dossiers qui contiennent les fichiers de définition d’environnement.

Ajouter une définition d’environnement

Pour ajouter une définition d’environnement à un catalogue dans les environnements de déploiement, vous ajoutez d’abord les fichiers au référentiel. Vous synchronisez ensuite le catalogue du centre de développement avec le référentiel mis à jour.

Pour ajouter une définition d’environnement :

  1. Dans votre dépôt GitHub ou Azure DevOps , créez un sous-dossier dans le chemin du dossier du dépôt.

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

    • Fichier modèle de 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 est 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
      

      Ce tableau décrit les champs du fichier environment.yaml :

      Champ Descriptif
      name Nom de la définition d’environnement.
      version Version de la définition d’environnement. Ce champ est facultatif.
      summary Brève description de la définition de l’environnement.
      description Description détaillée de la définition de l’environnement.
      runner Le cadre IaC utilisé 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, sous Configuration de l’environnement, sélectionnez Catalogues. Sélectionnez le référentiel, puis sélectionnez Synchroniser.

    Capture d’écran montrant comment synchroniser un catalogue.

Le service analyse le référentiel pour rechercher de nouvelles définitions d’environnement. Après avoir synchronisé le référentiel, de nouvelles définitions d’environnement sont disponibles pour tous les projets du centre de développement.

Utiliser des images conteneur pour déployer des environnements

Les environnements de déploiement utilisent des images conteneur pour définir la façon dont les modèles pour les environnements de déploiement sont déployés. Les environnements de déploiement prennent 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. Les environnements de déploiement utilisent ensuite une image de 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. Les environnements de déploiement prennent 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 commencer, vous pouvez obtenir des exemples d’images conteneur ARM et Bicep par le biais de Microsoft Artifact Registry (également appelé Microsoft Container Registry).

Pour plus d’informations sur la création d’une image conteneur personnalisée, consultez Configurer une image conteneur pour exécuter des déploiements.

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

Dans le fichier environment.yaml, la runner propriété spécifie l’emplacement de l’image que vous souhaitez utiliser. Pour utiliser l’exemple d’image publié dans le Registre Microsoft Artifact, utilisez les runner valeurs répertoriées dans le tableau suivant.

Infrastructure IaC valeur runner
ARM ARM
Bicep Bicep
Terraformation Aucun exemple d’image. Utilisez plutôt une image conteneur personnalisée.

L’exemple suivant montre une propriété runner qui fait référence à l’image de conteneur Bicep d’exemple :

    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 suivant runner dans le fichier environment.yaml :

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

Modifiez la runner valeur pour référencer votre référentiel et votre image personnalisée, comme illustré dans cet exemple :

    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é Descriptif
YOUR_REGISTRY Registre qui stocke l’image personnalisée.
YOUR_REPOSITORY Votre référentiel dans ce registre.
YOUR_TAG 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 pour 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 inclut 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 plus d’informations, 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 volet paramètres dans le portail des développeurs.

Les développeurs peuvent également fournir des valeurs pour des paramètres spécifiques pour leurs environnements via Azure 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 az devcenter dev environment create commande, consultez l’extension devcenter Azure CLI.

Mettre à jour une définition d’environnement

Pour modifier la configuration des ressources Azure dans une définition d’environnement existante dans les environnements de déploiement, mettez à jour le fichier de modèle associé dans le référentiel. La modification est immédiatement reflétée lorsque vous créez un environnement à l’aide de 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, dans le référentiel, supprimez le sous-dossier qui contient le fichier de modèle et le fichier environment.yaml associé. Ensuite , mettez à jour le catalogue.

Après avoir supprimé une définition d’environnement, les équipes de développement ne peuvent plus l’utiliser pour déployer un nouvel environnement. Mettez à jour la référence de définition d’environnement pour 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.