Partager via


Ajouter la prise en charge d’Azure Developer CLI à votre application à l’aide du code dans votre répertoire d’application

Azure Developer CLI (azd) fournit deux flux de travail différents pour initialiser un modèle à utiliser avec votre application, notamment :

  • Utilisez du code dans le répertoire actif : cette approche analyse votre application et génère automatiquement les ressources d’infrastructure et de configuration prises en charge.
  • Sélectionnez un modèle : cette approche vous permet d’intégrer un modèle existant à votre application ou d’utiliser un modèle existant comme point de départ pour une nouvelle application.

Ces deux approches sont explorées dans la documentation De présentation de la création de modèles CLI pour développeurs Azure.

Dans cet article, vous allez apprendre à ajouter la prise en charge de l’interface CLI pour développeurs Azure (azd) à votre application via le code Utiliser dans l’approche d’annuaire actuelle. Pour plus d’informations sur l’approche alternative, consultez l’ajout azd de la prise en charge à votre application à l’aide d’un document de modèle existant. Vous pouvez également visiter la formation - générer et déployer azd des modèles pour plus d’informations sur la création azd de modèles.

Utiliser du code dans le répertoire actif

  1. Vous pouvez suivre les étapes à suivre à l’aide de votre propre projet. Toutefois, si vous préférez suivre l’utilisation d’un exemple d’application, clonez le dépôt de démarrage suivant dans un répertoire vide sur votre ordinateur :

    git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
    
  2. Ouvrez un terminal dans le répertoire racine du projet.

  3. Exécutez la azd init commande pour initialiser le modèle.

    azd init
    
  4. Lorsque vous y êtes invité, sélectionnez l’option permettant d’utiliser du code dans le répertoire actif. azd analyse le projet et fournit un résumé des services détectés et des ressources d’hébergement Azure recommandées.

  5. Sélectionnez Confirmer et continuer à initialiser mon application. azd génère les ressources suivantes dans le répertoire racine du projet :

    • Fichier azure.yaml avec les définitions de service appropriées.
    • Dossier contenant des infra fichiers infrastructure-as-code pour approvisionner et déployer le projet sur Azure.
    • Dossier .azure avec variables d’environnement définies dans un .env fichier.

    Vous trouverez plus d’informations sur ce processus de détection et de génération plus loin dans l’article.

  6. Les fichiers générés fonctionnent comme suit pour l’exemple d’application fourni et peuvent également être utilisés pour vos propres applications. Si nécessaire, les fichiers générés peuvent être modifiés pour répondre à vos besoins. Par exemple, vous devrez peut-être modifier davantage les fichiers infrastructure-as-code dans le infra dossier si votre application s’appuie sur des ressources Azure au-delà de celles identifiées par azd.

  7. Exécutez la azd up commande pour provisionner et déployer votre application sur Azure.

    azd up
    
  8. Lorsque vous y êtes invité, sélectionnez l’abonnement et l’emplacement souhaités pour commencer le processus d’approvisionnement et de déploiement.

  9. Une fois le processus terminé, cliquez sur le lien dans la azd sortie pour ouvrir l’application dans le navigateur.

Explorer les étapes d’initialisation

Lorsque vous sélectionnez le code Utiliser dans le flux de travail d’annuaire actif, la azd init commande analyse votre projet et génère automatiquement du code en fonction de ce qu’il découvre. Les sections ci-dessous expliquent les détails du fonctionnement de ce processus et les technologies actuellement prises en charge.

Détection

La azd init commande détecte les fichiers projet pour les langues prises en charge situées dans votre répertoire de projet et les sous-répertoires. azd analyse également les dépendances de package pour collecter des informations sur les infrastructures web ou les bases de données utilisées par votre application. Si nécessaire, vous pouvez ajouter ou modifier manuellement les composants détectés, comme indiqué dans l’invite de résumé de confirmation.

La logique de détection actuelle est la suivante :

  • Langues prises en charge :
    • Python
    • JavaScript/TypeScript
    • .NET
    • Java
  • Bases de données prises en charge :
    • MongoDB
    • PostgreSQL
  • Pour Python et JavaScript/TypeScript, les infrastructures web et les bases de données sont automatiquement détectées.
  • Lorsqu’un projet JavaScript/TypeScript utilise un framework web frontal (ou côté client), il est classé comme un service frontal. Si votre service utilise une infrastructure web frontale qui n’est pas détectée, vous pouvez sélectionner JQuery pour fournir une classification et un comportement équivalents du service frontal.

Generation

Après avoir confirmé les composants détectés, azd init génère les fichiers infrastructure-as-code nécessaires pour déployer votre application sur Azure.

La logique de génération est la suivante :

  • Hôtes pris en charge :
    • Azure Container Apps.
  • Pour les bases de données, le mappage pris en charge entre la technologie de base de données et le service utilisé :
    • MongoDB : API Azure CosmosDB pour MongoDB
    • PostgreSQL : serveur flexible Azure Database pour PostgreSQL
    • Redis : Module complémentaire Redis Azure Container Apps
  • Les services utilisant des bases de données auront des variables d’environnement qui fournissent une connexion à la base de données préconfigurée par défaut.
  • Lorsque les services frontaux et principaux sont détectés, la configuration CORS sur l’hôte Azure pour les services principaux est mise à jour pour autoriser le domaine d’hébergement par défaut des services frontaux. Cette opération peut être modifiée ou supprimée si nécessaire dans les fichiers de configuration de l’infrastructure en tant que code.

Ajouter la prise en charge des conteneurs de développement

Vous pouvez également rendre votre modèle compatible avec les conteneurs de développement et Codespaces. Un conteneur de développement vous permet d’utiliser un conteneur comme environnement de développement complet. Il peut être utilisé pour exécuter une application, pour séparer les outils, les bibliothèques ou les runtimes nécessaires à l’utilisation d’un codebase et pour faciliter l’intégration et le test continus. Les conteneurs de développement peuvent être exécutés localement ou à distance, dans un cloud privé ou public. (Source : https://containers.dev/)

Pour ajouter la prise en charge des conteneurs de développement :

  1. Créez un dossier .devcontainer à la racine de votre projet.

  2. Créez un devcontainer.json fichier à l’intérieur du .devcontainer dossier avec les configurations souhaitées. Le azd modèle de démarrage fournit un exemple devcontainer.json de fichier que vous pouvez copier dans votre projet et modifier si nécessaire.

En savoir plus sur l’utilisation des conteneurs de développement dans la documentation Visual Studio Code.

Ajouter la prise en charge d’un pipeline CI/CD

Vous pouvez également ajouter la prise en charge de CI/CD dans votre modèle à l’aide d’actions GitHub ou d’Azure DevOps en procédant comme suit :

  1. Ajoutez un .github dossier pour les actions GitHub ou un .ado dossier pour Azure DevOps à la racine de votre projet.

  2. Ajoutez un fichier de flux de travail dans le nouveau dossier. Le azd modèle de démarrage fournit un exemple de fichier de flux de travail GitHub Actions et des exemples de fichiers Azure DevOps Pipelines pour chaque plateforme que vous pouvez copier dans votre projet et modifier si nécessaire.

  3. Vous devrez peut-être également mettre à jour le main.parameters.json fichier dans votre infra dossier avec les variables d’environnement requises pour que votre workflow s’exécute.