|
1 | 1 | ---
|
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. |
4 | 5 | services: Azure Deployment Environments
|
5 | 6 | author: RoseHJM
|
| 7 | +ms.author: rosemalcolm |
6 | 8 | ms.service: deployment-environments
|
7 | 9 | ms.topic: how-to
|
8 | 10 | ms.date: 10/12/2022
|
9 | 11 | ms.custom: devdivchpfy22, ignite-2022
|
10 |
| -ms.author: rosemalcolm |
| 12 | + |
11 | 13 | ---
|
12 |
| -# Configure a Catalog Item in GitHub repo or Azure DevOps repo |
13 | 14 |
|
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*). |
15 | 23 |
|
16 | 24 | >[!NOTE]
|
17 |
| -> Azure Deployment Environments Preview currently only supports Azure Resource Manager (ARM) templates. |
| 25 | +> Azure Deployment Environments Preview currently supports only ARM templates. |
18 | 26 |
|
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. |
20 | 28 |
|
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. |
22 | 30 |
|
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. |
24 | 32 |
|
25 |
| -In this article, you'll learn how to: |
| 33 | +In this article, you learn how to: |
26 | 34 |
|
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 |
30 | 40 |
|
31 | 41 | > [!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 |
33 | 47 |
|
34 |
| -## Add a new catalog item |
| 48 | +To add a catalog item: |
35 | 49 |
|
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. |
37 | 51 |
|
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: |
40 | 53 |
|
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. |
51 | 55 |
|
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. |
69 | 57 |
|
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: |
71 | 59 |
|
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. |
73 | 62 |
|
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. |
75 | 64 |
|
76 |
| -## Update an existing catalog item |
| 65 | + The *manifest.yaml* file contains metadata related to the ARM template. |
77 | 66 |
|
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: |
79 | 68 |
|
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). |
81 | 94 |
|
82 | 95 | ## 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). |
84 | 96 |
|
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. |
86 | 100 |
|
87 | 101 | ## Next steps
|
88 | 102 |
|
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