Partager via


Prise en charge d’Azure Developer CLI pour les environnements de déploiement Azure

Azure Developer CLI (azd) prend en charge les environnements de déploiement Azure. Un environnement de déploiement Azure (ADE) est une collection préconfigurée de ressources Azure déployées dans des abonnements prédéfinis. La gouvernance Azure est appliquée à ces abonnements en fonction du type d'environnement, tel que bac à sable, test, mise en lots ou production. Avec les environnements de déploiement Azure, vous pouvez appliquer des stratégies de sécurité d’entreprise et fournir un ensemble organisé de modèles d’infrastructure prédéfinis en tant que code (IaC).

Prérequis

Vérifiez que vous avez rempli les conditions préalables suivantes pour utiliser les environnements de déploiement Azure à l’aide azdde :

Activer la prise en charge de l’environnement de déploiement Azure

Vous pouvez configurer azd pour approvisionner et déployer des ressources dans vos environnements de déploiement à l’aide de commandes standard telles que azd up ou azd provision. Pour activer la prise en charge des environnements de déploiement Azure, exécutez la commande suivante :

azd config set platform.type devcenter

Quand platform.type la valeur est définie devcenter, l’état et l’approvisionnement de tous les azd environnements distants tirent parti des nouveaux composants du centre de développement. Cette configuration signifie également que le infra dossier de vos modèles locaux sera ignoré de manière efficace. Au lieu de cela, azd utilisez l’un des modèles d’infrastructure définis dans votre catalogue du centre de développement pour l’approvisionnement des ressources.

Vous pouvez également désactiver la prise en charge du centre de développement via la commande suivante :

azd config unset platform

Utiliser azure Deployment Evironments

Lorsque la fonctionnalité du centre de développement est activée, le comportement par défaut de certaines commandes courantes azd change pour fonctionner avec ces environnements distants. La fonctionnalité du Centre de développement s’étend sur les fonctionnalités fournies par azdla prise en charge standard de l’environnement distant.

azd init

L’expérience azd init de commande en mode centre de développement affiche tous les modèles ADE compatibles azd pour la sélection à partir de votre catalogue configuré. Pendant le processus d’init, après azd avoir cloné le code du modèle, le azure.yaml fichier est automatiquement mis à jour pour inclure une platform section avec la configuration sélectionnée en fonction du modèle choisi. La configuration inclut le nom, le catalogue et la définition de l’environnement du centre de développement.

`azd init`

azd up

La azd up commande empaquetera, provisionnera et déploiera votre application dans des environnements de déploiement Azure. Toutefois, l’étape de provisionnement de la azd up commande utilise les modèles d’infrastructure en tant que code organisés dans votre centre de développement distant, tandis que l’étape de déploiement déploie le code source dans votre azd modèle. Alors que le mode centre de développement est activé, azd ignore le infra dossier de votre modèle local azd et provisionne uniquement les ressources à l’aide des modèles du centre de développement. La commande vous invite également à entrer toutes les valeurs nécessaires, telles que le projet d’environnement de déploiement Azure ou le type d’environnement.

azd up

azd template list

La azd template list commande affiche les modèles d’infrastructure disponibles dans votre catalogue du centre de développement, plutôt que d’afficher des modèles à partir de la galerie AZD Awesome par défaut. Les catalogues fournissent un ensemble de modèles d’infrastructure en tant que code organisés et approuvés que vos équipes de développement peuvent utiliser pour créer des environnements.

azd template list

A screenshot showing the updated template gallery.

azd provision

La azd provision commande crée des environnements de centre de développement. La commande vous invite à entrer des valeurs manquantes, telles que le type d’environnement ou le projet. Lorsque la commande s’exécute, elle utilise le modèle d’infrastructure associé pour approvisionner l’ensemble correct de ressources Azure pour cet environnement. Alors que le mode centre de développement est activé, azd ignore le infra dossier de votre modèle local azd et provisionne uniquement les ressources à l’aide des modèles du centre de développement.

azd provision

azd env list

La azd env list commande affiche la même liste d’environnements que vous verrez dans le portail des développeurs.

azd env list

Balisage des ressources pour les environnements de déploiement Azure

azd l’approvisionnement pour les environnements de déploiement Azure s’appuie sur des modèles organisés à partir du catalogue du centre de développement. Les modèles du catalogue peuvent ou ne pas affecter des balises à des ressources Azure approvisionnées pour que vous puissiez associer vos services d’application dans le azure.yaml fichier. Si les modèles n’attribuent pas de balises, vous pouvez résoudre ce problème de l’une des deux manières suivantes :

  • Collaborez avec votre administrateur de catalogue du centre de développement pour vous assurer que les ressources Azure approvisionnées incluent des balises pour les associer aux services définis dans votre azure.yaml fichier.

  • Spécifiez le resoureName fichier au azure.yaml lieu d’utiliser des balises :

    services:
        api:
            project: ./src/api
            host: containerapp
            language: js
            resourceName: sample-api-containerapp
        web:
            project: ./src/web
            host: containerapp
            language: js
            resourceName: sample-web-containerapp
    

Configurer les paramètres du centre de développement

Vous pouvez définir des azd paramètres pour vos centres de développement à plusieurs emplacements. Paramètres sont combinés à partir de ces emplacements pour créer l’ensemble final de configurations dans l’ordre de priorité suivant :

  1. Variables d'environnement
  2. Configuration de l’environnement Azd
  3. Configuration du projet
  4. Configuration des utilisateurs

azd vous invite automatiquement à entrer les valeurs de configuration manquantes dans ces sources. Chacune de ces options de configuration est détaillée dans les sections suivantes.

Variables d'environnement

Les variables d’environnement suivantes seront découvertes et utilisées par azd:

  • AZURE_DEVCENTER_NAME
  • AZURE_DEVCENTER_PROJECT
  • AZURE_DEVCENTER_CATALOG
  • AZURE_DEVCENTER_ENVIRONMENT_DEFINITION
  • AZURE_DEVCENTER_ENVIRONMENT_TYPE
  • AZURE_DEVCENTER_ENVIRONMENT_USER

Définir des configurations

Définissez des configurations pour vos centres de développement dans l’étendue de l’environnement dans .azure/<env>/config.json le azd fichier :

{
    "platform": {
        "config": {
            "catalog": "SampleCatalog",
            "environmentDefinition": "Todo",
            "environmentType": "Dev",
            "name": "sample-devcenter",
            "Project": "SampleProject"
        }
    }
}

Portée du projet

Définissez des configurations pour vos centres de développement au niveau de l’étendue azd du projet dans le platform nœud du azure.yaml fichier :

name: todo-nodejs-mongo-aca
metadata:
    template: todo-nodejs-mongo-aca@0.0.1-beta
platform:
    type: devcenter
    config:
        catalog: SampleCatalog
        environmentDefinition: Todo
        name: sample-devcenter
        project: SampleProject
services:
    api:
        project: ./src/api
        host: containerapp
        language: js
    web:
        project: ./src/web
        host: containerapp
        language: js

Étendue d’utilisateur

Définissez des configurations pour vos centres de développement au niveau de l’étendue de l’utilisateur dans le ~/<user_profile>/.azd/config.json fichier :

{
    "platform": {
        "config": {
            "catalog": "SampleCatalog",
            "environmentDefinition": "Todo",
            "environmentType": "Dev",
            "name": "sample-devcenter",
            "Project": "SampleProject"
        }
    }
}