Partager via


Utiliser Azure Developer CLI avec les Environnements de déploiement Azure

Cet article vous permet de découvrir Azure Developer CLI (azd) et son fonctionnement avec les Environnements de déploiement Azure (ADE, Azure Deployment Environments) pour approvisionner une infrastructure d’application et déployer du code d’application sur la nouvelle infrastructure.

Azure Developer CLI (azd) est un outil de ligne de commande open source fournissant des commandes faciles à utiliser par les développeurs et qui correspondent aux étapes clés de votre flux de travail. Vous pouvez installer azd localement sur votre ordinateur ou l’utiliser dans d’autres environnements.

Grâce à ADE, vous pouvez créer des environnements à partir d’une définition d’environnement dans un catalogue rattaché à votre centre de développement. En ajoutant azd, vous pouvez déployer votre code d’application sur la nouvelle infrastructure.

Comment azd fonctionne-t-elle avec ADE ?

azd s’allie à ADE pour vous permettre de créer des environnements à partir de là où vous travaillez.

Grâce à ADE et azd, les développeurs individuels qui travaillent avec une infrastructure et du code uniques qu’ils souhaitent charger dans le cloud peuvent créer un environnement à partir d’un dossier local. Ils peuvent utiliser azd pour approvisionner un environnement et déployer leur code de façon harmonieuse.

À grande échelle, l’utilisation d’ADE et d’azd vous permet de fournir aux développeurs un moyen de créer une infrastructure et du code d’application. Votre équipe peut créer plusieurs environnements ADE à partir de la même définition d’environnement compatible avec azd et approvisionner du code dans le cloud de manière cohérente.

Comprendre les modèles azd

Les commandes Azure Developer CLI sont conçues pour fonctionner avec des modèles standardisés. Chaque modèle est un référentiel de code qui respecte des conventions de fichiers et de dossiers spécifiques. Les modèles contiennent les ressources dont azd a besoin pour approvisionner un environnement d’Environnement de déploiement Azure. Lorsque vous exécutez une commande comme azd up, l’outil utilise les ressources de modèle pour exécuter différentes étapes de flux de travail, telles que l’approvisionnement ou le déploiement de ressources sur Azure.

L’exemple suivant est une structure de modèle typique :

├── infra                                        [ Contains infrastructure as code files ]
├── .azdo                                        [ Configures an Azure Pipeline ]
├── .devcontainer                                [ For DevContainer ]
├── .github                                      [ Configures a GitHub workflow ]
├── .vscode                                      [ VS Code workspace configurations ]
├── .azure                                       [ Stores Azure configurations and environment variables ]
├── src                                          [ Contains all of the deployable app source code ]
└── azure.yaml                                   [ Describes the app and type of Azure resources]

Tous les modèles azd incluent les ressources suivantes :

  • dossier infra : le dossier infra n’est pas utilisé dans azd avec ADE. Il contient l’ensemble de l’infrastructure Bicep ou Terraform en tant que fichiers de code pour le modèle azd. ADE fournit l’infrastructure en tant que fichiers de code pour le modèle azd. Vous n’avez pas besoin d’inclure ces fichiers dans votre modèle azd.

  • fichier azure.yaml : fichier de configuration qui définit un ou plusieurs services dans votre projet et les mappe sur des ressources Azure pour le déploiement. Par exemple, vous pouvez définir un service d’API et un service web front-end, chacun avec des attributs qui les mappent à différentes ressources Azure pour le déploiement.

  • dossier .azure : contient des configurations et des variables d’environnement Azure essentielles, telles que l’emplacement pour déployer des ressources ou d’autres informations d’abonnement.

  • dossier src : contient tout le code source déployable de l’application. Certains modèles azd fournissent uniquement des ressources d’infrastructure et laissent le répertoire src vide pour vous permettre d’ajouter votre propre code d’application.

La plupart des modèles azd incluent aussi en option un ou plusieurs des dossiers suivants :

  • dossier .devcontainer : vous permet de configurer un environnement de conteneur de développement pour votre application. Il s’agit d’une approche courante d’environnement de développement qui n’est pas spécifique à azd.

  • dossier .github : contient les fichiers de flux de travail CI/CD (intégration continue et livraison continue) pour GitHub Actions (le fournisseur de CI/CD par défaut pour azd).

  • dossier .azdo : si vous décidez d’utiliser Azure Pipelines pour la CI/CD, définissez les fichiers de configuration de flux de travail dans ce dossier.

Catalogues compatibles avec azd

Les catalogues d’Environnements de déploiement Azure sont constitués de définitions d’environnement. Ces derniers sont des modèles IaC qui définissent les ressources d’infrastructure approvisionnées pour un environnement de déploiement. Azure Developer CLI utilise des définitions d’environnement dans le catalogue rattaché au centre de développement afin d’approvisionner de nouveaux environnements.

Remarque

Actuellement, Azure Developer CLI fonctionne avec des modèles ARM stockés dans le catalogue du centre de développement Environnements de déploiement Azure.

Pour bien prendre en charge certains services Azure Compute, Azure Developer CLI nécessite davantage de paramètres de configuration dans le modèle IaC. Par exemple, vous devez baliser les hôtes de service d’application avec des informations spécifiques pour qu’azd sache comment trouver les hôtes et déployer l’application sur ceux-ci.

Vous pouvez consulter la liste des services Azure pris en charge ici : Services de calcul Azure pris en charge (hôte).

Rendre votre catalogue ADE compatible avec azd

Pour permettre à vos équipes de développement d’utiliser azd avec ADE, vous devez créer une définition d’environnement compatible avec azd dans votre catalogue. Vous pouvez créer une définition d’environnement compatible avec azd ou utiliser une définition d’environnement existante dans le catalogue du centre de développement des Environnements de déploiement Azure. Si vous choisissez d’utiliser une définition d’environnement existante, vous devez apporter quelques modifications pour qu’elle soit compatible avec azd.

Les changements sont notamment :

  • Si vous modifiez un modèle azd existant, supprimez le dossier infra. ADE utilise les fichiers suivants pour créer l’infrastructure :
    • Modèle ARM (azuredeploy.json.)
    • Fichier de configuration qui définit des paramètres (environment.yaml ou manifest.yaml)
  • Balisez les ressources dans azure.yaml avec des informations spécifiques afin qu’azd sache comment trouver les hôtes et déployer l’application sur ceux-ci.
  • Configurez des paramètres du centre de développement tels que les variables d’environnement, la configuration de l’environnement azd, la configuration de projet azd et la configuration d’utilisateur.

Pour en savoir plus sur comment rendre votre définition d’environnement ADE compatible avec azd, consultez Rendre votre projet compatible avec Azure Developer CLI.

Activer la prise en charge d’azd dans ADE

Pour activer la prise en charge d’azd avec ADE, vous devez définir le platform.type sur devcenter. Cette configuration permet à azd de tirer profit des nouveaux composants du centre de développement pour l’état et l’approvisionnement de l’environnement distant. Cela signifie que le dossier infra de vos modèles sera effectivement ignoré. azd utilise plutôt l’un des modèles d’infrastructure définis dans votre catalogue de centre de développement pour approvisionner les ressources.

Pour activer la prise en charge d’azd, exécutez la commande suivante :

 azd config set platform.type devcenter

Explorer les commandes azd

Lorsque la fonctionnalité du centre de développement est activée, le comportement par défaut de certaines commandes azd courantes change afin de fonctionner avec ces environnements distants. Pour plus d’informations, consultez Utiliser des Environnements de déploiement Azure.