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.
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
Dans l’outil de ligne de commande de votre choix, accédez au répertoire racine du projet cloné.
Exécutez la
azd init
commande pour initialiser unazd
modèle.azd init
Lorsque vous y êtes invité, choisissez l’option permettant de sélectionner un modèle.
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.
Lorsque vous y êtes invité, entrez un nom d’environnement court, tel que testenv.
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
Ouvrez le répertoire de projet racine dans votre éditeur de choix, tel que Visual Studio Code.
Ouvrez le
main.bicep
fichier dans le dossier à l’aideinfra
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 litAdd 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 parazd
. 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 valeurazd
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 .
- Une chaîne unique est générée en fonction de l’ID d’abonnement et utilisée comme
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.
Ouvrez la
azure.yaml
racine du projet.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
Enregistrez toutes vos modifications et exécutez la commande suivante pour provisionner et déployer les ressources de l’application sur Azure :
azd up
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.