Partager via


Ajouter la prise en charge d’Azure Developer CLI à votre application à l’aide d’un modèle existant

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 l’approche Sélectionner un modèle . 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.

Sélectionner un modèle pour votre application

Le flux de travail Sélectionner un modèle de la azd init commande vous permet de choisir un modèle existant azd à utiliser comme point de départ. Le contenu du modèle sélectionné est ajouté au répertoire racine de votre projet. La plupart des modèles fournissent l’ensemble requis de fichiers et de dossiers, et plusieurs incluent un ensemble complet de azd fichiers infrastructure-as-code pour approvisionner des ressources Azure pour une pile d’applications choisie.

Dans cet exemple, vous allez utiliser le modèle Starter - Bicep , qui inclut la structure essentielle d’un azd modèle et un code réutilisable utile pour commencer. Les modèles de démarrage sont un excellent choix lorsque vous souhaitez générer une structure de modèle correcte et démarrer des ressources, mais toujours créer vos propres fichiers d’infrastructure.

  1. Pour suivre les étapes à suivre à l’aide d’un exemple d’application existant, clonez le projet 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. Dans l’outil de ligne de commande de votre choix, accédez au répertoire racine du projet cloné.

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

    azd init
    
  4. Lorsque vous y êtes invité, choisissez l’option permettant de sélectionner un modèle.

    Capture d’écran montrant les options de sélection d’un modèle.

  5. Dans la liste des modèles, sélectionnez Starter - Bicep. Vous pouvez taper le nom du modèle ou utiliser vos touches de direction clavier pour le trouver.

  6. Lorsque vous y êtes invité, entrez un nom d’environnement court, tel que testenv.

  7. Une fois que vous avez exécuté azd init, les ressources suivantes sont ajoutées à votre répertoire actif :

    ├── .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 ]
    ├── infra                                        [ Contains infrastructure as code files ]
    │   ├── main.bicep/main.tf                       [ Main infrastructure file ]
    │   ├── main.parameters.json/main.tfvars.json    [ Parameters file ]
    │   └── core/modules                             [ Contains reusable Bicep/Terraform modules ]
    └── azure.yaml                                   [ Describes the app and type of Azure resources]
    

Mettre à jour les fichiers Bicep

Votre projet contient désormais la structure et les ressources principales d’un azd modèle. Toutefois, pour provisionner les ressources Azure pour votre projet spécifique, les fichiers Bicep du infra dossier doivent être mis à jour. Pour héberger l’exemple d’application, vous devez définir les ressources suivantes à l’aide de fichiers Bicep :

  • Un plan Azure App Service
  • Azure App Service s’exécutant sur Linux
  1. Ouvrez le répertoire de projet racine dans votre éditeur de choix, tel que Visual Studio Code.

  2. Ouvrez le main.bicep fichier dans le dossier à l’aide infra de votre éditeur. Ce fichier contient du code réutilisable utile pour configurer des variables, des paramètres et des conventions d’affectation de noms essentielles. Sous le bloc de commentaires autour de la ligne 50 qui lit Add resources to be provisioned below, ajoutez le bicep suivant :

    // Creates an app service instance to host the app
    module web './core/host/appservice.bicep' = {
      name: 'web'
      scope: rg
      params: {
        name: '${abbrs.webSitesAppService}web-${resourceToken}'
        location: location
        tags: union(tags, { 'azd-service-name': 'web' })
        appServicePlanId: appServicePlan.outputs.id
        runtimeName: 'python'
        runtimeVersion: '3.8'
        scmDoBuildDuringDeployment: true
      }
    }
    
    // Create an App Service Plan to group applications under the same payment plan and SKU
    module appServicePlan './core/host/appserviceplan.bicep' = {
      name: 'appserviceplan'
      scope: rg
      params: {
        name: '${abbrs.webServerFarms}${resourceToken}'
        location: location
        tags: tags
        sku: {
          name: 'B1'
        }
      }
    }
    

    Remarque

    • Une chaîne unique est générée en fonction de l’ID d’abonnement et utilisée comme ${resourceToken} variable. Ce jeton est ajouté au nom de toutes les ressources Azure créées par azd.
    • azd utilise des balises pour identifier les ressources afin de pouvoir modifier les noms en fonction de la convention d’affectation de noms de votre organisation.
    • La 'azd-service-name': 'web' balise sur le service d’application est la valeur azd utilisée pour identifier l’hôte de déploiement. La valeur doit être la même que celle définie pour le service dans le fichier azure.yaml .

Mettre à jour le fichier azure.yaml

Pour déployer l’application, azd vous devez en savoir plus sur votre application. Le azure.yaml fichier est utilisé pour définir l’emplacement du code source, la langue et le service d’hébergement Azure pour chaque service de votre application. Pour plus d’informations, reportez-vous au schéma azure.yaml.

  1. Ouvrez la azure.yaml racine du projet.

  2. Ajoutez les lignes suivantes au bas du fichier :

    name: msdocs-python-flask-webapp-quickstart
    services:
      web:
        project: .
        language: py
        host: appservice
    

Provisionner et déployer le modèle

  1. Enregistrez toutes vos modifications et exécutez la commande suivante pour provisionner et déployer les ressources de l’application sur Azure :

    azd up
    
  2. Une fois la commande terminée, cliquez sur le lien dans la sortie de commande pour accéder au site déployé.

Votre projet est désormais compatible avec Azure Developer CLI et peut être utilisé comme modèle.

Remarque

azd prend également en charge l’utilisation de Buildpack pour conteneuriser vos applications par défaut. Si votre azd modèle cible Azure Container Apps ou Azure Kubernetes Service, mais n’inclut pas de fichier Docker, azd génère automatiquement une image à l’aide de Buildpack.