Incorporación de compatibilidad con la CLI para desarrolladores de Azure a la aplicación mediante una plantilla existente
La CLI para desarrolladores de Azure (azd
) proporciona dos flujos de trabajo diferentes para inicializar una plantilla para usarla con la aplicación, que incluyen:
- Usar código en el directorio actual: este enfoque analiza la aplicación y genera automáticamente recursos de configuración y infraestructura admitidos.
- Seleccionar una plantilla: este enfoque permite integrar una plantilla existente con la aplicación o usar una plantilla existente como punto de partida para una nueva aplicación.
Ambos enfoques se exploran en el documento de información general Sobre la creación de plantillas de la CLI para desarrolladores de Azure.
En este artículo, aprenderá a agregar compatibilidad con la CLI para desarrolladores de Azure (azd
) a la aplicación mediante el enfoque Seleccionar una plantilla . Visite la documentación Agregar azd
soporte técnico a la aplicación mediante un documento de plantilla existente para obtener más información sobre el enfoque alternativo. También puede visitar training - build and deploy templates (Entrenamiento: compilación e implementación azd
de plantillas ) para obtener más información sobre la creación azd
de plantillas.
Seleccionar una plantilla para la aplicación
El flujo de trabajo Seleccionar una plantilla del azd init
comando permite elegir una plantilla existente azd
que se usará como punto de partida. El contenido de la plantilla seleccionada se agrega al directorio raíz del proyecto. La mayoría de las plantillas proporcionan el conjunto necesario de azd
archivos y carpetas, y muchos incluyen un conjunto completo de archivos de infraestructura como código para aprovisionar recursos de Azure para una pila de aplicaciones elegida.
En este ejemplo, usará la plantilla Starter - Bicep , que incluye la estructura esencial de una azd
plantilla y algún código reutilizable útil para empezar. Las plantillas de inicio son una excelente opción cuando quiere aplicar scaffolding a la estructura de plantilla correcta y a los recursos de inicio, pero siguen creando sus propios archivos de infraestructura.
Para seguir los pasos que se indican a continuación mediante una aplicación de ejemplo existente, clone el siguiente proyecto de inicio en un directorio vacío en el equipo:
git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
En la herramienta de línea de comandos que prefiera, vaya al directorio raíz del proyecto clonado.
Ejecute el
azd init
comando para inicializar unaazd
plantilla.azd init
Cuando se le solicite, elija la opción Seleccionar una plantilla.
En la lista de plantillas, seleccione Starter - Bicep. Puede escribir el nombre de la plantilla o usar las teclas de dirección del teclado para encontrarlo.
Cuando se le solicite, escriba un nombre de entorno corto, como testenv.
Después de ejecutar
azd init
, se agregan los siguientes recursos al directorio actual:├── .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]
Actualización de los archivos de Bicep
El proyecto ahora contiene la estructura principal y los recursos de una azd
plantilla. Sin embargo, para aprovisionar los recursos de Azure para su proyecto específico, es necesario actualizar los archivos de Bicep de la infra
carpeta. Para hospedar la aplicación de ejemplo, deberá definir los siguientes recursos mediante archivos de Bicep:
- Un plan de servicio de App de Azure
- Un servicio App de Azure que se ejecuta en Linux
Abra el directorio del proyecto raíz en el editor que prefiera, como Visual Studio Code.
Abra el
main.bicep
archivo en la carpeta mediante elinfra
editor. Este archivo contiene código reutilizable útil para configurar variables esenciales, parámetros y convenciones de nomenclatura. Debajo del bloque de comentarios alrededor de la línea 50 que leeAdd resources to be provisioned below
, agregue lo siguiente:// 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' } } }
Nota:
- Se genera una cadena única basada en el identificador de suscripción y se usa como variable
${resourceToken}
. Este token se anexa al nombre de todos los recursos de Azure creados porazd
. azd
usa etiquetas para identificar recursos para que pueda modificar los nombres en función de la convención de nomenclatura de su organización.- La
'azd-service-name': 'web'
etiqueta del servicio de aplicaciones es el valorazd
que usa para identificar el host de implementación. El valor debe ser el mismo que el definido para el servicio en el archivo azure.yaml .
- Se genera una cadena única basada en el identificador de suscripción y se usa como variable
Actualización del archivo azure.yaml
Para implementar la aplicación, azd
debe saber más sobre la aplicación. El azure.yaml
archivo se usa para definir la ubicación del código fuente, el idioma y el servicio de hospedaje de Azure para cada servicio de la aplicación. Para más información, consulte el esquema azure.yaml.
Abra en
azure.yaml
la raíz del proyecto.Agregue las líneas siguientes a la parte inferior del archivo:
name: msdocs-python-flask-webapp-quickstart services: web: project: . language: py host: appservice
Aprovisionamiento e implementación de la plantilla
Guarde todos los cambios y ejecute el siguiente comando para aprovisionar e implementar los recursos de la aplicación en Azure:
azd up
Cuando finalice el comando, haga clic en el vínculo de la salida del comando para ir al sitio implementado.
El proyecto ahora es compatible con la CLI para desarrolladores de Azure y se puede usar como plantilla.
Nota:
azd
también admite el uso de Buildpack para incluir en contenedores las aplicaciones de forma predeterminada. Si la azd
plantilla tiene como destino Azure Container Apps o Azure Kubernetes Service, pero no incluye un archivo de Docker, azd
genera automáticamente una imagen mediante Buildpack.