Esquema azure.yaml de la CLI para desarrolladores de Azure
Artículo
azd las plantillas son repositorios de planos técnicos que incluyen código de aplicación de prueba de concepto, configuraciones de editor/IDE y código de infraestructura escrito en Bicep o Terraform. Estas plantillas están diseñadas para modificarse y adaptarse a sus requisitos de aplicación específicos y, a continuación, se usan para obtener la aplicación en Azure mediante la CLI para desarrolladores de Azure (azd). El esquema azure.yaml define y describe las aplicaciones y los tipos de recursos de Azure que se incluyen en estas plantillas.
Ejemplo
A continuación se muestra un ejemplo genérico de un azure.yaml requisito para la azd plantilla.
name: yourApp
metadata:
template: yourApp@0.0.1-beta
services:
web:
project: ./src/web # path to your web project
dist: build # relative path to service deployment artifacts
language: js # one of the supported languages
host: appservice # one of the supported Azure services
(cadena) Nombre del grupo de recursos de Azure. Cuando se especifique, invalidará el nombre del grupo de recursos usado para el aprovisionamiento de infraestructura.
metadata
N
(objeto) Consulte las propiedades de metadatos para obtener más detalles.
infra
N
(objeto) Proporciona una configuración adicional para el aprovisionamiento de la infraestructura de Azure. Consulte propiedades de infraestructura para obtener más detalles.
services
Y
(objeto) Definición de servicios que componen la aplicación. Consulte las propiedades de los servicios para obtener más detalles.
pipeline
N
(objeto) Definición de la canalización de integración continua. Consulte propiedades de canalización para obtener más detalles.
Intervalo de versiones admitidas de azd para este proyecto. Si la versión de está fuera de azd este intervalo, el proyecto no se cargará. Opcional (permite todas las versiones si están ausentes). Ejemplo: >= 0.6.0-beta.3
Propiedades de metadata
Nombre del elemento
Obligatorio
Descripción
Ejemplo
template
N
(cadena) Identificador de la plantilla desde la que se creó la aplicación.
todo-nodejs-mongo@0.0.1-beta
Propiedades de infra
Nombre del elemento
Obligatorio
Descripción
Ejemplo
provider
N
(cadena) Proveedor de infraestructura para los recursos de Azure de la aplicación. (Valor predeterminado: bicep).
Consulte el ejemplo de Terraform a continuación. bicep, terraform
path
N
(cadena) Ruta de acceso de carpeta relativa a la ubicación que contiene plantillas de aprovisionamiento de Azure para el proveedor especificado. (Valor predeterminado: infra).
module
N
(cadena) Nombre del módulo predeterminado con las plantillas de aprovisionamiento de Azure. (Valor predeterminado: main).
(cadena) Nombre del recurso de Azure que implementa el servicio. Si no se especifica, azd buscará un recurso por azd-env-name etiquetas y azd-service-name . Si no se encuentra, buscará un nombre de recurso construido a partir del nombre del entorno actual, concatenado con el nombre del servicio (<environment-name><resource-name>).
prodapi
project
Y
(cadena) Ruta de acceso al directorio de código fuente del servicio.
host
Y
(cadena) Tipo de recurso de Azure que se usa para la implementación del servicio. Si se omite, se asume App Service.
appservice, containerapp, function, , aksstaticwebapp(solo para proyectos que se pueden implementar a través kubectl apply -fde ), springapp (cuando está habilitado, más información sobre las características alfa)
language
Y
(cadena) Lenguaje de implementación del servicio.
dotnet, csharp, fsharp, py, python, js, ts, java
module
Y
(cadena) Ruta de acceso del módulo de infraestructura que se usa para implementar el servicio en relación con la carpeta de infraestructura raíz. Si se omite, la CLI asume que el nombre del módulo es el mismo que el nombre del servicio.
dist
Y
(cadena) Ruta de acceso relativa a los artefactos de implementación del servicio. La CLI usará archivos en esta ruta de acceso para crear el artefacto de implementación (archivo.zip). Si se omite, se incluirán todos los archivos del directorio del proyecto de servicio.
build
docker
N
Solo es aplicable cuando host es containerapp. No se pueden contener propiedades adicionales.
Consulte el ejemplo personalizado de Docker a continuación. path(string): ruta de acceso al Dockerfile. Valor predeterminado: ./Dockerfile; context(string): el contexto de compilación de Docker. Cuando se especifica, invalida el contexto predeterminado. Valor predeterminado: .; platform(string): destino de la plataforma. Opción predeterminada: amd64
k8s
N
Las opciones de configuración de Azure Kubernetes Service (AKS).
Consulte el ejemplo de AKS siguiente. deploymentPath(string): opcional. Ruta de acceso relativa de la ruta de acceso del servicio a los manifiestos de implementación k8s. Cuando se establece, invalidará la ubicación de ruta de acceso de implementación predeterminada para los manifiestos de implementación k8s. Valor predeterminado: manifests; namespace(string): opcional. Espacio de nombres k8s de los recursos implementados. Cuando se especifica, se creará un nuevo espacio de nombres k8s si aún no existe. Valor predeterminado: Project name; deployment(objeto): vea las propiedades de implementación; service(objeto): vea las propiedades del servicio; ingress(object): vea las propiedades de entrada.
hooks
N
Enlaces de nivel de servicio. Los enlaces deben coincidir service con pre los nombres de evento con el prefijo o post dependiendo de cuándo se debe ejecutar el script. Al especificar rutas de acceso, deben ser relativas a la ruta de acceso del servicio.
(cadena) Opcional. Nombre del recurso de implementación k8s que se va a usar durante la implementación. Se usa durante la implementación para asegurarse de que se ha completado la implementación de k8s. Si no se establece, buscará un recurso de implementación en el mismo espacio de nombres que contiene el nombre del servicio. Opción predeterminada: Service name
api
Propiedades de AKS service
Nombre del elemento
Obligatorio
Descripción
Ejemplo
name
N
(cadena) Opcional. Nombre del recurso de servicio k8s que se va a usar como punto de conexión de servicio predeterminado. Se usa al determinar los puntos de conexión para el recurso de servicio predeterminado. Si no se establece, buscará un recurso de implementación en el mismo espacio de nombres que contiene el nombre del servicio. (Valor predeterminado: Nombre del servicio)
api
Propiedades de AKS ingress
Nombre del elemento
Obligatorio
Descripción
Ejemplo
name
N
(cadena) Opcional. Nombre del recurso de entrada k8s que se va a usar como punto de conexión de servicio predeterminado. Se usa al determinar los puntos de conexión para el recurso de entrada predeterminado. Si no se establece, buscará un recurso de implementación en el mismo espacio de nombres que contiene el nombre del servicio. Opción predeterminada: Service name
api
relativePath
N
(cadena) Opcional. Ruta de acceso relativa al servicio desde la raíz del controlador de entrada. Cuando se establezca, se anexará a la raíz de la ruta de acceso del recurso de entrada.
Ejemplo de AKS con enlaces de nivel de servicio
metadata:
template: todo-nodejs-mongo-aks@0.0.1-beta
services:
web:
project: ./src/web
dist: build
language: js
host: aks
hooks:
postdeploy:
shell: sh
run: azd env set REACT_APP_WEB_BASE_URL ${SERVICE_WEB_ENDPOINT_URL}
api:
project: ./src/api
language: js
host: aks
k8s:
ingress:
relativePath: api
hooks:
postdeploy:
shell: sh
run: azd env set REACT_APP_API_BASE_URL ${SERVICE_API_ENDPOINT_URL}
Propiedades de pipeline
Nombre del elemento
Obligatorio
Descripción
Ejemplo
provider
N
(cadena) Proveedor de canalización que se va a usar para la integración continua. (Valor predeterminado: github).
github, azdo
Azure Pipelines (AzDo) como ejemplo de canalización de CI/CD
Para obtener información sobre cómo archivar un error, solicitar ayuda o proponer una nueva característica para la CLI para desarrolladores de Azure, visite la página de solución de problemas y soporte técnico .