Azure Deployment Environment 環境の定義は、ADE 拡張機能モデルでサポートされ、リポジトリに格納される ARM、Bicep、Terraform、またはその他のフレームワークで記述されたコードとしてのインフラストラクチャ (IaC) テンプレートです。 要件に合わせて環境定義を変更および調整し、それらを使用して 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
Definitions
次の表では、environment.yaml で使用できるプロパティについて説明します。
| 財産 | タイプ | Description | 必須ですか? | Example |
|---|---|---|---|---|
name |
文字列 | カタログ アイテムの表示名。 | はい | ウェブアプリ |
version |
文字列 | カタログ アイテムのバージョン。 | No | 1.0.0 |
summary |
文字列 | カタログ アイテムを要約する短い文字列。 | No | Azure Web App Environment |
description |
文字列 | カタログ アイテムの説明。 | No | データストアを使用せずに Azure に Web アプリをデプロイする |
runner |
文字列 | アクションの実行時に使用するコンテナー イメージ。 | No | ARM テンプレート Terraform |
templatePath |
文字列 | エントリ テンプレート ファイルの相対パス。 | はい | main.tf main.bicep azuredeploy.json |
parameters |
アレイ | 環境を作成し、アクションを実行するときに使用するパラメーターを入力します。 | No | #/definitions/Parameter |
environment.yaml のパラメーター
パラメーターを使用すると、さまざまなシナリオで環境定義を再利用できます。 たとえば、異なるリージョンの開発者に同じ環境をデプロイさせる場合があります。 場所パラメーターを定義して、開発者が環境を作成するときに目的の場所を入力するように求めることができます。
パラメーターを含むサンプル environment.yaml
次のスクリプトは、 location と nameの 2 つのパラメーターを含む environment.yaml ファイルの例です。
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 テンプレートで使用される名前とは異なります。
各パラメーターでは、次のいずれかのプロパティを使用できます。
| パラメーター | タイプ | Description | 追加設定 |
|---|---|---|---|
id |
文字列 | パラメーターの一意の ID。 | |
name |
文字列 | パラメーターの表示名。 | |
description |
文字列 | パラメーターの説明です。 | |
default |
配列 ブール値 整数 数値 オブジェクト 文字列 |
パラメーターの既定値。 | |
type |
配列 ブール値 整数 数値 オブジェクト 文字列 |
パラメーターのデータ型。 このデータ型は、ARM テンプレート、Bicep ファイル、または Terraform ファイル内の対応するパラメーター名を持つパラメーター データ型と一致する必要があります。 | 既定の型: string |
readOnly |
boolean | パラメーターが読み取り専用かどうか。 | |
required |
boolean | パラメーターが必要かどうか。 | |
allowed |
アレイ | 許可される値の配列。 | "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, |
YAML スキーマ
Azure Deployment Environment 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'