Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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. | Sí | 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. | Sí | 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'