다음을 통해 공유


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 파일의 예입니다. locationname:

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'