environment.yaml의 매개 변수 및 데이터 형식
ADE 환경 정의는 IaC(Infrastructure as Code)입니다(Bicep 또는 Terraform으로 작성되고 리포지토리에 저장됨). 환경 정의는 특정 요구 사항에 맞게 수정 및 조정된 다음 Azure에서 배포 환경을 만드는 데 사용될 수 있습니다. environment.yaml 스키마는 환경 정의에 포함된 Azure 리소스 형식을 정의하고 설명합니다.
environment.yaml이란?
environment.yaml 파일은 사용된 리소스와 환경 정의에 대한 템플릿 위치를 설명하는 매니페스트 역할을 합니다.
샘플 environment.yaml
다음 스크립트는 환경 정의에 필요한 environment.yaml의 일반적인 예입니다.
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
정의
다음 표에서는 environment.yaml에서 사용할 수 있는 속성을 설명합니다.
속성 | Type | 설명 | 필수 | 예제 |
---|---|---|---|---|
name | string | 카탈로그 항목의 표시 이름입니다. | 예 | |
version | string | 카탈로그 항목의 버전입니다. | 1.0.0 | |
요약 | string | 카탈로그 항목에 대한 짧은 요약 문자열입니다. | ||
description | string | 카탈로그 항목에 대한 설명입니다. | ||
실행기 | string | 작업을 실행할 때 사용할 컨테이너 이미지입니다. | ARM 템플릿 Terraform |
|
templatePath | string | 항목 템플릿 파일의 상대 경로입니다. | 예 | main.tf main.bicep azuredeploy.json |
매개 변수 | array | 환경을 만들고 작업을 실행할 때 사용할 입력 매개 변수입니다. | #/definitions/Parameter |
environment.yaml의 매개 변수
매개 변수를 사용하면 다양한 시나리오에서 환경 정의를 재사용할 수 있습니다. 예를 들어, 서로 다른 지역의 개발자가 동일한 환경을 배포하도록 할 수 있습니다. 개발자가 환경을 만들 때 원하는 위치를 입력하라는 메시지를 표시하도록 위치 매개 변수를 정의할 수 있습니다.
매개 변수가 포함된 샘플 environment.yaml
다음 스크립트는 두 개의 매개 변수를 포함하는 environment.yaml 파일의 예입니다. location
및 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
매개 변수 정의
다음 표에서는 environment.yaml에서 사용할 수 있는 데이터 형식을 설명합니다. environment.yaml 매니페스트 파일에 사용되는 데이터 형식 이름은 ARM 템플릿에 사용되는 이름과 다릅니다.
각 매개 변수는 다음 속성 중 하나를 사용할 수 있습니다.
속성 | Type | 설명 | 추가 설정 |
---|---|---|---|
ID | string | 매개 변수의 고유 ID입니다. | |
name | string | 매개 변수의 표시 이름입니다. | |
description | string | 매개 변수의 설명입니다. | |
default | 배열 부울 정수 숫자 개체 문자열 |
매개 변수의 ‘기본값’. | |
type | 배열 부울 정수 숫자 개체 문자열 |
매개 변수의 데이터 형식입니다. 이 데이터 형식은 ARM 템플릿, BICEP 파일 또는 Terraform 파일의 매개 변수 데이터 형식과 해당 매개 변수 이름과 일치해야 합니다. | 기본 형식: 문자열 |
readOnly | 부울 값 | 이 매개 변수가 읽기 전용인지 여부를 나타냅니다. | |
필수 | 부울 값 | 이 매개 변수가 필수인지 여부를 나타냅니다. | |
allowed | array | 허용되는 값의 배열입니다. | "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, |
YAML 스키마
Azure 배포 환경 environment.yaml 파일에 대해 정의된 스키마가 있으므로 이러한 파일을 좀 더 쉽게 편집할 수 있습니다. environment.yaml 파일의 시작 부분에 스키마 정의를 추가할 수 있습니다.
# yaml-language-server: $schema=https://github.com/Azure/deployment-environments/releases/download/2022-11-11-preview/manifest.schema.json
다음은 스키마를 사용하는 환경 정의의 예입니다.
# 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'