Azure Developer CLI y Azure Deployment Environments
En este artículo, obtendrá información sobre Azure Developer CLI (azd
) y cómo funciona con Azure Deployment Environments (ADE) para simplificar el proceso de aprovisionamiento de la infraestructura de aplicaciones e implementar código de aplicación en la nueva infraestructura.
azd
es una herramienta de línea de comandos de código abierto que proporciona comandos descriptivos para desarrolladores que se asignan a las fases clave del flujo de trabajo. Puede instalar azd
localmente en el equipo o usarlo en otros entornos.
Con ADE, puede crear entornos a partir de una definición de entorno en un catálogo asociado al centro de desarrollo o mediante el modelo de extensibilidad de ADE para ejecutar implementaciones. Al agregar azd
, puede simplificar el proceso de aprovisionamiento de la infraestructura e implementar código en la nube.
¿Cómo funciona azd
con ADE?
azd
funciona con ADE para permitirle crear entornos desde donde trabaja.
Con ADE y azd
, los desarrolladores individuales que trabajan con una infraestructura y código únicos que quieren cargar en la nube pueden crear un entorno a partir de una carpeta local. Pueden usar azd
para aprovisionar un entorno e implementar su código sin problemas.
A escala, el uso de ADE y azd
juntos le permite proporcionar una manera de que los desarrolladores creen código y infraestructura de aplicaciones. El equipo puede crear varios entornos de ADE a partir de la misma definición de entorno compatible de azd
y aprovisionar código en la nube de forma coherente.
Descripción de las plantillas azd
Los comandos de Azure Developer CLI están diseñados para trabajar con plantillas estandarizadas. Cada plantilla es un repositorio de código que se adhiere a las convenciones específicas de archivos y carpetas. Las plantillas contienen los recursos azd
necesarios para aprovisionar un entorno de Azure Deployment Environments. Al ejecutar un comando como azd up
, la herramienta usa los recursos de plantilla para ejecutar varios pasos de flujo de trabajo, como el aprovisionamiento o la implementación de recursos en Azure.
En el diagrama siguiente se muestra una estructura de plantilla típica:
├── 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]
Todas las plantillas azd
incluyen los siguientes recursos:
Carpeta infra: la carpeta infra no se usa en
azd
con ADE. Contiene toda la infraestructura de Bicep o Terraform como archivos de código para la plantilla deazd
. ADE proporciona la infraestructura como archivos de código para la plantillaazd
. No es necesario incluir estos archivos en la plantillaazd
.Archivo azure.yaml: un archivo de configuración que define uno o varios servicios del proyecto y los asigna a los recursos de Azure para su implementación. Por ejemplo, puede definir un servicio de API y un servicio front-end web, cada uno con atributos que los asignan a distintos recursos de Azure para su implementación.
Carpeta .azure: contiene configuraciones esenciales de Azure y variables de entorno, como la ubicación para implementar recursos u otra información de suscripción.
Carpeta src: contiene todo el código fuente de la aplicación que se puede implementar. Algunas plantillas
azd
solo proporcionan recursos de infraestructura y dejan el directorio src vacío para agregar su propio código de aplicación.
La mayoría de las plantillas azd
también incluyen opcionalmente una o varias de las siguientes carpetas:
Carpeta .devcontainer: permite configurar un entorno de contenedor de desarrollo para la aplicación. Este enfoque de entorno de desarrollo común que no es específico de
azd
.carpeta .github: Contiene los archivos de flujo de trabajo de CI/CD para Acciones de GitHub, que es el proveedor de CI/CD predeterminado para
azd
.Carpeta .azdo: si decide usar Azure Pipelines para CI/CD, defina los archivos de configuración de flujo de trabajo de esta carpeta.
Catálogos compatibles con azd
Los catálogos de Azure Deployment Environments constan de definiciones de entorno: plantillas de IaC que definen los recursos que se aprovisionan para un entorno de implementación. Azure Developer CLI usa definiciones de entorno en el catálogo adjunto al centro de desarrollo para aprovisionar nuevos entornos.
Azure Developer CLI funciona con plantillas de ARM almacenadas en el catálogo del Centro de desarrollo de Azure Deployment Environments. También admite otras plantillas de IaC, como Bicep y Terraform a través del modelo de extensibilidad de ADE. Para obtener información sobre cómo configurar el modelo de extensibilidad de ADE, consulte Modelo de extensibilidad de Azure Deployment Environments.
Para admitir correctamente determinados servicios de Azure Compute, Azure Developer CLI requiere más opciones de configuración en la plantilla de IaC. Por ejemplo, debe etiquetar hosts de servicios de aplicaciones con información específica para que azd
sepa cómo encontrar los hosts e implementar la aplicación en ellos.
Puede ver una lista de los servicios de Azure admitidos aquí: Servicios de proceso de Azure compatibles (host).
Compatibilidad del catálogo de ADE con azd
Para permitir que los equipos de desarrollo nos envíen azd
con ADE, debe crear una definición de entorno en el catálogo que sea compatible con azd
. Puede crear una nueva azd
definición de entorno compatible o puede usar una definición de entorno existente desde el catálogo del centro de desarrollo de Azure Deployment Environments. Si decide usar una definición de entorno existente, debe realizar algunos cambios para que sea compatible con azd
.
Los cambios incluyen:
- Si va a modificar una plantilla
azd
existente, quite la carpetainfra
. ADE usa los siguientes archivos para crear la infraestructura:- Plantilla de ARM (azuredeploy.json).
- Archivo de configuración que define parámetros (environment.yaml o manifest.yaml)
- Etiquete los recursos en azure.yaml con información específica para que
azd
sepa cómo encontrar los hosts e implementar la aplicación en ellos.- Obtenga información sobre el etiquetado de recursos de Azure Deployment Environments.
- Obtenga información sobre el esquema azure.yaml de Azure Developer CLI.
Para más información sobre cómo hacer que la definición del entorno de ADE sea compatible con azd
, consulte Compatibilidad del proyecto con Azure Developer CLI.
Habilitación de la compatibilidad de azd
en ADE
Para habilitar la compatibilidad de azd
con ADE, debe establecer en platform.type
en el centro de desarrollo. Esta configuración permite azd
usar nuevos componentes del centro de desarrollo para el estado y el aprovisionamiento remotos del entorno, y significa que se omite la carpeta infra de las plantillas. En su lugar, azd
usa una de las plantillas de infraestructura definidas en el catálogo del centro de desarrollo para el aprovisionamiento de recursos.
Para habilitar la compatibilidad de azd
, ejecute el siguiente comando:
azd config set platform.type devcenter
Exploración de comandos azd
Cuando la característica del centro de desarrollo está habilitada, el comportamiento predeterminado de algunos comandos comunes de azd
cambia para trabajar con estos entornos remotos. Para más información, consulte Trabajar con Azure Deployment Environments.