Compartir a través de


Uso de Azure Developer CLI con 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 aprovisionar 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 adjunto al centro de desarrollo. Al agregar azd, puede implementar el código de la aplicación en la nueva infraestructura.

¿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 de azd. ADE proporciona la infraestructura como archivos de código para la plantilla azd. No es necesario incluir estos archivos en la plantilla azd.

  • 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.

Nota:

Actualmente, Azure Developer CLI funciona con plantillas de ARM almacenadas en el catálogo del Centro de desarrollo 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 azddefinició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 carpeta infra. 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.
  • Configure las opciones del centro de desarrollo, como las variables de entorno, la configuración del entorno azd, la configuración del proyecto azd y la configuración del usuario.

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.