Skip to content

Commit e42ae11

Browse files
authored
Merge pull request #303189 from v-albemi/congigure-environment-definition
Freshness Edit: Azure Deployment Environments
2 parents c5b8c60 + bc1e42a commit e42ae11

File tree

2 files changed

+44
-45
lines changed

2 files changed

+44
-45
lines changed

articles/deployment-environments/configure-environment-definition.md

Lines changed: 44 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
---
2-
title: Add and configure an environment definition in a catalog
2+
title: Add and Configure an Environment Definition in a Catalog
33
titleSuffix: Azure Deployment Environments
4-
description: Learn how to add and configure an environment definition to use in ADE projects. Learn how to reference a container image to deploy your environment.
4+
description: Learn how to add and configure an environment definition to use in Azure Deployment Environments projects.
55
services: Azure Deployment Environments
66
author: RoseHJM
77
ms.author: rosemalcolm
88
ms.service: azure-deployment-environments
99
ms.topic: how-to
10-
ms.date: 05/03/2024
10+
ms.date: 07/25/2025
1111
ms.custom:
1212
- devdivchpfy22
1313
- build-2023
@@ -20,7 +20,7 @@ ms.custom:
2020

2121
This article explains how to add, update, or delete an environment definition in an Azure Deployment Environments catalog. It also explains how to reference a container image to deploy your environment.
2222

23-
In Azure Deployment Environments, you use a [catalog](concept-environments-key-concepts.md#catalogs) to provide your development teams with a curated set of predefined [infrastructure as code (IaC)](/devops/deliver/what-is-infrastructure-as-code) templates called [environment definitions](concept-environments-key-concepts.md#environment-definitions).
23+
In Deployment Environments, you use a [catalog](concept-environments-key-concepts.md#catalogs) to provide your development teams with a curated set of predefined [infrastructure as code (IaC)](/devops/deliver/what-is-infrastructure-as-code) templates called [environment definitions](concept-environments-key-concepts.md#environment-definitions).
2424

2525
An environment definition is composed of at least two files:
2626

@@ -32,15 +32,15 @@ An environment definition is composed of at least two files:
3232

3333
Your development teams use the environment definitions that you provide in the catalog to deploy environments in Azure.
3434

35-
Microsoft offers a [sample catalog](https://aka.ms/deployment-environments/SampleCatalog) that you can use as your repository. You can also use your own private repository, or you can fork and customize the environment definitions in the sample catalog.
35+
Microsoft provides a [sample catalog](https://aka.ms/deployment-environments/SampleCatalog) that you can use as your repository. You can also use your own private repository, or you can fork and customize the environment definitions in the sample catalog.
3636

3737
After you [add a catalog](how-to-configure-catalog.md) to your dev center, the service scans the specified folder path to identify folders that contain a template and an associated environment file. The specified folder path should be a folder that contains subfolders that hold the environment definition files.
3838

3939
<a name="add-a-new-environment-definition"></a>
4040

4141
## Add an environment definition
4242

43-
To add an environment definition to a catalog in Azure Deployment Environments (ADE), you first add the files to the repository. You then synchronize the dev center catalog with the updated repository.
43+
To add an environment definition to a catalog in Deployment Environments, you first add the files to the repository. You then synchronize the dev center catalog with the updated repository.
4444

4545
To add an environment definition:
4646

@@ -52,9 +52,9 @@ To add an environment definition:
5252

5353
- An environment as a YAML file.
5454

55-
The *environment.yaml* file contains metadata related to the IaC template.
55+
The environment.yaml file contains metadata related to the IaC template.
5656

57-
The following script is an example of the contents of an *environment.yaml* file for an ARM template:
57+
The following script is an example of the contents of an environment.yaml file for an ARM template:
5858

5959
```yaml
6060
name: WebApp
@@ -65,48 +65,47 @@ To add an environment definition:
6565
templatePath: azuredeploy.json
6666
```
6767
68-
Use the following table to understand the fields in the *environment.yaml* file:
68+
This table describes the fields in the environment.yaml file:
6969
7070
| Field | Description |
7171
|-------|-------------|
72-
| name | The name of the environment definition. |
73-
| version | The version of the environment definition. This field is optional. |
74-
| summary | A brief description of the environment definition. |
75-
| description | A detailed description of the environment definition. |
76-
| runner | The IaC framework that the template uses. The value can be `ARM` or `Bicep`. You can also specify a path to a template stored in a container registry. |
77-
| templatePath | The path to the IaC template file. |
72+
| `name` | The name of the environment definition. |
73+
| `version` | The version of the environment definition. This field is optional. |
74+
| `summary` | A brief description of the environment definition. |
75+
| `description` | A detailed description of the environment definition. |
76+
| `runner` | The IaC framework that the template uses. The value can be `ARM` or `Bicep`. You can also specify a path to a template stored in a container registry. |
77+
| `templatePath` | The path to the IaC template file. |
7878

79-
To learn more about the options and data types you can use in *environment.yaml*, see [Parameters and data types in environment.yaml](concept-environment-yaml.md#what-is-environmentyaml).
79+
To learn more about the options and data types you can use in environment.yaml, see [Parameters and data types in environment.yaml](concept-environment-yaml.md#what-is-environmentyaml).
8080

81-
1. In your dev center, go to **Catalogs**, select the repository, and then select **Sync**.
81+
1. In your dev center, under **Environment configuration**, select **Catalogs**. Select the repository, and then select **Sync**.
8282

83-
:::image type="content" source="../deployment-environments/media/configure-environment-definition/sync-catalog-list.png" alt-text="Screenshot that shows how to synchronize the catalog." lightbox="../deployment-environments/media/configure-environment-definition/sync-catalog-list.png":::
83+
:::image type="content" source="../deployment-environments/media/configure-environment-definition/sync-catalog-list.png" alt-text="Screenshot that shows how to synchronize a catalog." lightbox="../deployment-environments/media/configure-environment-definition/sync-catalog-list.png":::
8484

8585
The service scans the repository to find new environment definitions. After you synchronize the repository, new environment definitions are available to all projects in the dev center.
8686

8787
## Use container images to deploy environments
8888

89-
ADE uses container images to define how templates for deployment environments are deployed. ADE supports ARM and Bicep natively, so you can configure an environment definition that deploys Azure resources for a deployment environment by adding the template files (azuredeploy.json and environment.yaml) to your catalog. ADE then uses a standard ARM or Bicep container image to create the deployment environment.
89+
Deployment Environments uses container images to define how templates for deployment environments are deployed. Deployment Environments supports ARM and Bicep natively, so you can configure an environment definition that deploys Azure resources for a deployment environment by adding the template files (azuredeploy.json and environment.yaml) to your catalog. Deployment Environments then uses a standard ARM or Bicep container image to create the deployment environment.
9090

91-
You can create custom container images for more advanced environment deployments. For example, you can run scripts before or after the deployment. ADE supports custom container images for environment deployments, which can help deploy IaC frameworks such as Pulumi and Terraform.
91+
You can create custom container images for more advanced environment deployments. For example, you can run scripts before or after the deployment. Deployment Environments supports custom container images for environment deployments, which can help deploy IaC frameworks such as Pulumi and Terraform.
9292

93-
The ADE team provides sample ARM and Bicep container images accessible through the Microsoft Artifact Registry (also known as the Microsoft Container Registry) to help you get started.
93+
To get started, you can get sample ARM and Bicep container images via the Microsoft Artifact Registry (also known as the Microsoft Container Registry).
9494

95-
For more information on building a custom container image, see:
96-
- [Configure a container image to execute deployments](how-to-configure-extensibility-generic-container-image.md)
97-
- [Configure container image to execute deployments with ARM and Bicep](how-to-configure-extensibility-bicep-container-image.md)
98-
- [Configure a container image to execute deployments with Terraform](how-to-configure-extensibility-terraform-container-image.md)
95+
For more information on building a custom container image, see [Configure a container image to execute deployments](how-to-configure-extensibility-generic-container-image.md).
9996

10097
### Specify the ARM or Bicep sample container image
101-
In the environment.yaml file, the runner property specifies the location of the image you want to use. To use the sample image published on the Microsoft Artifact Registry, use the respective identifiers runner, as listed in the following table.
10298

103-
| IaC framework | Runner value |
99+
In the environment.yaml file, the `runner` property specifies the location of the image you want to use. To use the sample image published in the Microsoft Artifact Registry, use the `runner` values listed in the following table.
100+
101+
| IaC framework | `runner` value |
104102
|---------------|--------------|
105103
| ARM | ARM |
106104
| Bicep | Bicep |
107105
| Terraform | No sample image. Use a custom container image instead. |
108106

109-
The following example shows a runner that references the sample Bicep container image:
107+
The following example shows a `runner` property that references the sample Bicep container image:
108+
110109
```yaml
111110
name: WebApp
112111
version: 1.0.0
@@ -118,12 +117,13 @@ The following example shows a runner that references the sample Bicep container
118117

119118
### Specify a custom container image
120119

121-
To use a custom container image stored in a repository, use the following runner format in the environment.yaml file:
120+
To use a custom container image stored in a repository, use the following `runner` format in the environment.yaml file:
121+
122122
```yaml
123123
runner: "{YOUR_REGISTRY}.azurecr.io/{YOUR_REPOSITORY}:{YOUR_TAG}”`
124124
```
125125

126-
Edit the runner value to reference your repository and custom image, as shown in the following example:
126+
Edit the `runner` value to reference your repository and custom image, as shown in this example:
127127

128128
```yaml
129129
name: WebApp
@@ -137,17 +137,16 @@ Edit the runner value to reference your repository and custom image, as shown in
137137
| Property | Description |
138138
|----------|--------------|
139139
| YOUR_REGISTRY | The registry that stores the custom image. |
140-
| YOUR_REPOSITORY | Your repository on that registry. |
141-
| YOUR_TAG | A tag such as a version number. |
142-
140+
| YOUR_REPOSITORY | Your repository in that registry. |
141+
| YOUR_TAG | A tag, such as a version number. |
143142
144143
## Specify parameters for an environment definition
145144
146145
You can specify parameters for your environment definitions to allow developers to customize their environments.
147146
148-
Parameters are defined in the *environment.yaml* file.
147+
Parameters are defined in the environment.yaml file.
149148
150-
The following script is an example of an *environment.yaml* file for an ARM template that includes two parameters; `location` and `name`:
149+
The following script is an example of an environment.yaml file for an ARM template that includes two parameters: `location` and `name`.
151150

152151
```YAML
153152
name: WebApp
@@ -164,19 +163,19 @@ parameters:
164163
required: false
165164
- id: "name"
166165
name: "name"
167-
description: "Name of the Web App "
166+
description: "Name of the web app "
168167
default: ""
169168
type: "string"
170169
required: false
171170
```
172171

173-
To learn more about the parameters and their data types that you can use in *environment.yaml*, see [Parameters and data types in environment.yaml](concept-environment-yaml.md#parameters-in-environmentyaml).
172+
For more information, see [Parameters and data types in environment.yaml](concept-environment-yaml.md#parameters-in-environmentyaml).
174173

175-
Developers can supply values for specific parameters for their environments through the [developer portal](https://devportal.microsoft.com).
174+
Developers can supply values for specific parameters for their environments via the [developer portal](https://devportal.microsoft.com).
176175

177-
:::image type="content" source="media/configure-environment-definition/parameters.png" alt-text="Screenshot of the developer portal of the developer portal showing the parameters pane." lightbox="media/configure-environment-definition/parameters.png":::
176+
:::image type="content" source="media/configure-environment-definition/parameters.png" alt-text="Screenshot of the parameters pane in the developer portal.":::
178177

179-
Developers can also supply values for specific parameters for their environments through the CLI.
178+
Developers can also supply values for specific parameters for their environments via the Azure CLI:
180179

181180
```azurecli
182181
az devcenter dev environment create --environment-definition-name
@@ -193,19 +192,19 @@ az devcenter dev environment create --environment-definition-name
193192
[--user-id]
194193
```
195194

196-
To learn more about the `az devcenter dev environment create` command, see the [Azure CLI devcenter extension](/cli/azure/devcenter/dev/environment).
195+
To learn more about the `az devcenter dev environment create` command, see [Azure CLI devcenter extension](/cli/azure/devcenter/dev/environment).
197196

198197
## Update an environment definition
199198

200-
To modify the configuration of Azure resources in an existing environment definition in Azure Deployment Environments, update the associated template file in the repository. The change is immediately reflected when you create a new environment by using the specific environment definition. The update also is applied when you redeploy an environment associated with that environment definition.
199+
To modify the configuration of Azure resources in an existing environment definition in Deployment Environments, update the associated template file in the repository. The change is immediately reflected when you create a new environment by using the specific environment definition. The update is also applied when you redeploy an environment associated with that environment definition.
201200

202-
To update any metadata related to the template, modify *environment.yaml*, and then [update the catalog](how-to-configure-catalog.md#update-a-catalog).
201+
To update any metadata related to the template, modify environment.yaml, and then [update the catalog](how-to-configure-catalog.md#update-a-catalog).
203202

204203
## Delete an environment definition
205204

206-
To delete an existing environment definition, in the repository, delete the subfolder that contains the template file and the associated environment YAML file. Then, [update the catalog](how-to-configure-catalog.md#update-a-catalog).
205+
To delete an environment definition, in the repository, delete the subfolder that contains the template file and the associated environment.yaml file. Then [update the catalog](how-to-configure-catalog.md#update-a-catalog).
207206

208-
After you delete an environment definition, development teams can no longer use the specific environment definition to deploy a new environment. Update the environment definition reference for any existing environments that use the deleted environment definition. If the reference isn't updated and the environment is redeployed, the deployment fails.
207+
After you delete an environment definition, development teams can no longer use it to deploy a new environment. Update the environment definition reference for any existing environments that use the deleted environment definition. If the reference isn't updated and the environment is redeployed, the deployment fails.
209208

210209
## Related content
211210

21.1 KB
Loading

0 commit comments

Comments
 (0)