Compartir a través de


Propiedades y parámetros en environment.yaml

Las definiciones de entorno de Azure Deployment Environments son infraestructura como código (IaC) que se escriben en Bicep o Terraform y se almacenan en repositorios. Puede modificar y adaptar las definiciones de entorno a sus necesidades y después usarlas para crear un entorno de implementación en Azure. El esquema de environment.yaml define y describe los tipos de recursos de Azure incluidos en las definiciones de entorno.

¿Qué es environment.yaml?

El archivo environment.yaml actúa como un manifiesto, describiendo los recursos utilizados y la ubicación de la plantilla para la definición del entorno.

Ejemplo de environment.yaml

El siguiente script es un ejemplo del environment.yaml necesario para la definición de su entorno.

name: WebApp
version: 1.0.0
summary: Azure Web App Environment
description: Deploys a web app in Azure without a datastore
runner: ARM
templatePath: azuredeploy.json

Definiciones

La siguiente tabla describe las propiedades que puede usar en environment.yaml.

Propiedad Tipo Descripción ¿Obligatorio? Ejemplo
name cuerda / cadena Nombre para mostrar del elemento del catálogo. WebApp
version cuerda / cadena Versión del elemento del catálogo. No 1.0.0
summary cuerda / cadena Una cadena corta que resume el elemento del catálogo. No Entorno de aplicación web de Azure
description cuerda / cadena Descripción del elemento de catálogo. No Implementa una aplicación web en Azure sin un almacén de datos
runner cuerda / cadena Imagen de contenedor que se va a usar al ejecutar acciones. No Plantilla de ARM
Terraform
templatePath cuerda / cadena Ruta de acceso relativa del archivo de plantilla de entrada. main.tf
main.bicep
azuredeploy.json
parameters matriz Parámetros de entrada que se usarán al crear el entorno y ejecutar las acciones. No #/definitions/Parameter

Parámetros en environment.yaml

Los parámetros permiten reutilizar una definición de entorno en distintos escenarios. Por ejemplo, es posible que quiera que los desarrolladores de diferentes regiones implementen el mismo entorno. Puede definir un parámetro de ubicación para pedir a los desarrolladores que escriban la ubicación deseada a medida que crean sus entornos.

Ejemplo de environment.yaml con parámetros

El siguiente script es un ejemplo de un archivo environment.yaml que incluye dos parámetros: location y name.

name: WebApp
summary: Azure Web App Environment
description: Deploys a web app in Azure without a datastore
runner: ARM
templatePath: azuredeploy.json
parameters:
- id: "location"
  name: "location"
  description: "Location to deploy the environment resources"
  default: "[resourceGroup().location]"
  type: "string"
  required: false
- id: "name"
  name: "name"
  description: "Name of the Web App "
  default: ""
  type: "string"
  required: false

Definiciones de parámetros

En la tabla siguiente se describen los tipos de datos que puede usar en environment.yaml. Los nombres de tipo de datos usados en el archivo de manifiesto environment.yaml difieren de los usados en las plantillas de ARM.

Cada parámetro puede usar cualquiera de las siguientes propiedades:

Parámetro Tipo Descripción Configuración adicional
id cuerda / cadena Identificador único del parámetro.
name cuerda / cadena Nombre para mostrar del parámetro.
description cuerda / cadena Descripción del parámetro.
default matriz
booleano
entero
número
objeto
cadena
Valor predeterminado del parámetro.
type matriz
booleano
entero
número
objeto
cadena
El tipo de datos del parámetro. Este tipo de datos debe coincidir con el tipo de datos de parámetro que tiene el nombre de parámetro correspondiente en la plantilla de ARM, el archivo Bicep o el archivo de Terraform. Tipo predeterminado: cadena
readOnly booleano Si el parámetro es de solo lectura.
required booleano Si el parámetro es obligatorio.
allowed matriz Una matriz de valores permitidos. "items": {
"type": "string"
},
"minItems": 1,
"uniqueItems": true,

Esquema YAML

Existe un esquema definido para los archivos environment.yaml de Azure Deployment Environments. Puede facilitar un poco la edición de estos archivos. Puede agregar la definición del esquema al principio de su archivo environment.yaml:

# yaml-language-server: $schema=https://github.com/Azure/deployment-environments/releases/download/2022-11-11-preview/manifest.schema.json

Esta es una definición de entorno de ejemplo que usa el esquema:

# yaml-language-server: $schema=https://github.com/Azure/deployment-environments/releases/download/2022-11-11-preview/manifest.schema.json
name: FunctionApp
version: 1.0.0
summary: Azure Function App Environment
description: Deploys an Azure Function App, Storage Account, and Application Insights
runner: ARM
templatePath: azuredeploy.json

parameters:
  - id: name
    name: Name
    description: 'Name of the Function App.'
    type: string
    required: true

  - id: supportsHttpsTrafficOnly
    name: 'Supports HTTPS Traffic Only'
    description: 'Allows https traffic only to Storage Account and Functions App if set to true.'
    type: boolean

  - id: runtime
    name: Runtime
    description: 'The language worker runtime to load in the function app.'
    type: string
    allowed:
      - 'dotnet'
      - 'dotnet-isolated'
      - 'java'
      - 'node'
      - 'powershell'
      - 'python'
    default: 'dotnet-isolated'