Skip to content

Commit 0c8995b

Browse files
authored
Merge pull request #215360 from ktoliver/2000051-b
edit pass: Three how-to articles for work item 2000051
2 parents 80baeaf + b2e69d1 commit 0c8995b

13 files changed

+250
-192
lines changed
Lines changed: 69 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,90 +1,104 @@
11
---
2-
title: Configure a Catalog Item in Azure Deployment Environments
3-
description: This article helps you configure a Catalog Item in GitHub repo or Azure DevOps repo.
2+
title: Add and configure a catalog item
3+
titleSuffix: Azure Deployment Environments
4+
description: Learn how to add and configure a catalog item in your repository to use in your Azure Deployment Environments Preview dev center projects.
45
services: Azure Deployment Environments
56
author: RoseHJM
7+
ms.author: rosemalcolm
68
ms.service: deployment-environments
79
ms.topic: how-to
810
ms.date: 10/12/2022
911
ms.custom: devdivchpfy22, ignite-2022
10-
ms.author: rosemalcolm
12+
1113
---
12-
# Configure a Catalog Item in GitHub repo or Azure DevOps repo
1314

14-
In Azure Deployment Environments Preview service, you can 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 [Catalog Items](concept-environments-key-concepts.md#catalog-items). A catalog item is a combination of an *infrastructure as code (IaC)* template (for example, [Azure Resource Manager (ARM) templates](../azure-resource-manager/templates/overview.md)) and a manifest (*manifest.yml*) file.
15+
# Add and configure a catalog item
16+
17+
In Azure Deployment Environments Preview, you can 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 [*catalog items*](concept-environments-key-concepts.md#catalog-items).
18+
19+
A catalog item is combined of least two files:
20+
21+
- An [Azure Resource Manager template (ARM template)](../azure-resource-manager/templates/overview.md) in JSON file format. For example, *azuredeploy.json*.
22+
- A manifest YAML file (*manifest.yml*).
1523

1624
>[!NOTE]
17-
> Azure Deployment Environments Preview currently only supports Azure Resource Manager (ARM) templates.
25+
> Azure Deployment Environments Preview currently supports only ARM templates.
1826
19-
The IaC template will contain the environment definition and the manifest file will be used to provide metadata about the template. The catalog items that you provide in the catalog will be used by your development teams to deploy environments in Azure.
27+
The IaC template contains the environment definition (template), and the manifest file provides metadata about the template. Your development teams use the catalog items that you provide in the catalog to deploy environments in Azure.
2028

21-
We offer an example [Sample Catalog](https://aka.ms/deployment-environments/SampleCatalog) that you can attach as-is, or you can fork and customize the catalog items. You can attach your private repo to use your own catalog items.
29+
We offer a [sample catalog](https://aka.ms/deployment-environments/SampleCatalog) that you can use as your repository. You also can use your own private repository, or you can fork and customize the catalog items in the sample catalog.
2230

23-
After you [attach a catalog](how-to-configure-catalog.md) to your dev center, the service will scan through the specified folder path to identify folders containing an ARM template and the associated manifest file. The specified folder path should be a folder that contains sub-folders with the catalog item files.
31+
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 an ARM template and an associated manifest file. The specified folder path should be a folder that contains subfolders that hold the catalog item files.
2432

25-
In this article, you'll learn how to:
33+
In this article, you learn how to:
2634

27-
* Add a new catalog item
28-
* Update a catalog item
29-
* Delete a catalog item
35+
> [!div class="checklist"]
36+
>
37+
> - Add a catalog item
38+
> - Update a catalog item
39+
> - Delete a catalog item
3040
3141
> [!IMPORTANT]
32-
> Azure Deployment Environments is currently in preview. For legal terms that apply to Azure features that are in beta, in preview, or otherwise not yet released into general availability, see the [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
42+
> Azure Deployment Environments currently is in preview. For legal terms that apply to Azure features that are in beta, in preview, or otherwise are not yet released into general availability, see the [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
43+
44+
<a name="add-a-new-catalog-item"></a>
45+
46+
## Add a catalog item
3347

34-
## Add a new catalog item
48+
To add a catalog item:
3549

36-
Provide a new catalog item to your development team as follows:
50+
1. In your repository, create a subfolder in the repository folder path.
3751

38-
1. Create a subfolder in the specified folder path, and then add a *ARM_template.json* and the associated *manifest.yaml* file.
39-
:::image type="content" source="../deployment-environments/media/configure-catalog-item/create-subfolder-in-path.png" alt-text="Screenshot of subfolder in folder path containing ARM template and manifest file.":::
52+
1. Add two files to the new repository subfolder:
4053

41-
1. **Add ARM template**
42-
43-
To implement infrastructure as code for your Azure solutions, use Azure Resource Manager templates (ARM templates).
44-
45-
[Azure Resource Manager (ARM) templates](../azure-resource-manager/templates/overview.md) help you define the infrastructure and configuration of your Azure solution and repeatedly deploy it in a consistent state.
46-
47-
To learn about how to get started with ARM templates, see the following:
48-
49-
- [Understand the structure and syntax of Azure Resource Manager Templates](../azure-resource-manager/templates/syntax.md) describes the structure of an Azure Resource Manager template and the properties that are available in the different sections of a template.
50-
- [Use linked templates](../azure-resource-manager/templates/linked-templates.md?tabs=azure-powershell#use-relative-path-for-linked-templates) describes how to use linked templates with the new ARM `relativePath` property to easily modularize your templates and share core components between catalog items.
54+
- An ARM template as a JSON file.
5155

52-
1. **Add manifest file**
53-
54-
The *manifest.yaml* file contains metadata related to the ARM template.
55-
56-
The following is a sample *manifest.yaml* file.
57-
58-
```
59-
name: WebApp
60-
version: 1.0.0
61-
summary: Azure Web App Environment
62-
description: Deploys an Azure Web App without a data store
63-
runner: ARM
64-
templatePath: azuredeploy.json
65-
```
66-
67-
>[!NOTE]
68-
> `version` is an optional field, and will later be used to support multiple versions of catalog items.
56+
To implement IaC for your Azure solutions, use ARM templates. [ARM templates](../azure-resource-manager/templates/overview.md) help you define the infrastructure and configuration of your Azure solution and repeatedly deploy it in a consistent state.
6957

70-
1. On the **Catalogs** page of the dev center, select the specific repo, and then select **Sync**.
58+
To learn how to get started with ARM templates, see the following articles:
7159

72-
:::image type="content" source="../deployment-environments/media/configure-catalog-item/sync-catalog-items.png" alt-text="Screenshot showing how to sync the catalog." :::
60+
- [Understand the structure and syntax of ARM templates](../azure-resource-manager/templates/syntax.md): Describes the structure of an ARM template and the properties that are available in the different sections of a template.
61+
- [Use linked templates](../azure-resource-manager/templates/linked-templates.md?tabs=azure-powershell#use-relative-path-for-linked-templates): Describes how to use linked templates with the new ARM template `relativePath` property to easily modularize your templates and share core components between catalog items.
7362

74-
1. The service scans through the repository to discover any new catalog items and makes them available to all the projects.
63+
- A manifest as a YAML file.
7564

76-
## Update an existing catalog item
65+
The *manifest.yaml* file contains metadata related to the ARM template.
7766

78-
To modify the configuration of Azure resources in an existing catalog item, directly update the associated *ARM_Template.json* file in the repository. The change is immediately reflected when you create a new environment using the specific catalog item, and when you redeploy an environment associated with that catalog item.
67+
The following script is an example of the contents of a *manifest.yaml* file:
7968

80-
To update any metadata related to the ARM template, modify the *manifest.yaml* and [update the catalog](how-to-configure-catalog.md).
69+
```yaml
70+
name: WebApp
71+
version: 1.0.0
72+
summary: Azure Web App Environment
73+
description: Deploys a web app in Azure without a datastore
74+
runner: ARM
75+
templatePath: azuredeploy.json
76+
```
77+
78+
> [!NOTE]
79+
> The `version` field is optional. Later, the field will be used to support multiple versions of catalog items.
80+
81+
:::image type="content" source="../deployment-environments/media/configure-catalog-item/create-subfolder-in-path.png" alt-text="Screenshot that shows a folder path with a subfolder that contains an ARM template and a manifest file.":::
82+
83+
1. In your dev center, go to **Catalogs**, select the repository, and then select **Sync**.
84+
85+
:::image type="content" source="../deployment-environments/media/configure-catalog-item/sync-catalog-items.png" alt-text="Screenshot that shows how to sync the catalog." :::
86+
87+
The service scans the repository to find new catalog items. After you sync the repository, new catalog items are available to all projects in the dev center.
88+
89+
## Update a catalog item
90+
91+
To modify the configuration of Azure resources in an existing catalog item, update the associated ARM template JSON file in the repository. The change is immediately reflected when you create a new environment by using the specific catalog item. The update also is applied when you redeploy an environment that's associated with that catalog item.
92+
93+
To update any metadata related to the ARM template, modify *manifest.yaml*, and then [update the catalog](how-to-configure-catalog.md#update-a-catalog).
8194

8295
## Delete a catalog item
83-
To delete an existing Catalog Item, delete the subfolder containing the ARM template and the associated manifest, and then [update the catalog](how-to-configure-catalog.md).
8496

85-
Once you delete a catalog item, development teams will no longer be able to use the specific catalog item to deploy a new environment. You'll need to update the catalog item reference for any existing environments created using the deleted catalog item. Redeploying the environment without updating the reference will result in a deployment failure.
97+
To delete an existing catalog item, in the repository, delete the subfolder that contains the ARM template JSON file and the associated manifest YAML file. Then, [update the catalog](how-to-configure-catalog.md#update-a-catalog).
98+
99+
After you delete a catalog item, development teams can no longer use the specific catalog item to deploy a new environment. Update the catalog item reference for any existing environments that were created by using the deleted catalog item. If the reference isn't updated and the environment is redeployed, the deployment fails.
86100

87101
## Next steps
88102

89-
* [Create and configure projects](./quickstart-create-and-configure-projects.md)
90-
* [Create and configure environment types](quickstart-create-access-environments.md).
103+
- Learn how to [create and configure a project](./quickstart-create-and-configure-projects.md).
104+
- Learn how to [create and configure an environment type](quickstart-create-access-environments.md).

0 commit comments

Comments
 (0)