Partager via


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

Azure Developer CLI (azd) prend en charge 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 le bac à sable, le test, la préproduction ou la 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).

Conditions préalables

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

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

Lorsque platform.type est défini sur devcenter, tous les azd'état de l’environnement distant et l’approvisionnement tirent parti des nouveaux composants du centre de développement. Cette configuration signifie également que le dossier infra dans vos modèles locaux sera ignoré efficacement. Au lieu de cela, azd utiliserez 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 des environnements de déploiement Azure

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

azd init

L’expérience de commande azd init 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 clone le code du modèle, le fichier azure.yaml est automatiquement mis à jour pour inclure une section platform 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 commande azd up empaquetera, provisionnera et déploiera votre application dans des environnements de déploiement Azure. Toutefois, l’étape de provisionnement de la commande azd up 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 modèle azd. Lorsque le mode centre de développement est activé, azd ignore le dossier infra dans votre modèle de azd local 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 commande azd template list 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. catalogues fournir un ensemble de modèles d’infrastructure en tant que code approuvés et organisés que vos équipes de développement peuvent utiliser pour créer des environnements.

azd template list

capture d’écran A montrant la galerie de modèles mise à jour.

azd provision

La commande azd provision crée de nouveaux environnements du 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. Lorsque le mode centre de développement est activé, azd ignore le dossier infra dans votre modèle de azd local et provisionne uniquement les ressources à l’aide des modèles du centre de développement.

azd provision

azd env list

La commande azd env list 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 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 non affecter des étiquettes aux ressources Azure approvisionnées pour vous permettre d’associer vos services d’application dans le fichier azure.yaml. 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 fichier azure.yaml.

  • Spécifiez la resourceName dans votre fichier azure.yaml au 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 azd paramètres pour vos centres de développement à plusieurs emplacements. Les 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 utilisateur

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 azd dans .azure/<env>/config.json fichier :

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

Étendue du projet

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

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 de l’utilisateur

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

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