|
1 | 1 | ---
|
2 |
| -title: "Best practices for structuring an Azure Deployment Environments catalog" |
3 |
| -description: "This article provides guidelines for structuring an Azure Deployment Environments catalog for efficient caching." |
| 2 | +title: Best practices for structuring an Azure Deployment Environments catalog |
| 3 | +description: Get guidelines for structuring an Azure Deployment Environments catalog to help ensure efficient caching. |
4 | 4 | author: RoseHJM
|
5 | 5 | ms.author: rosemalcolm
|
6 | 6 | ms.service: azure-deployment-environments
|
7 | 7 | ms.topic: best-practice
|
8 |
| -ms.date: 11/27/2023 |
| 8 | +ms.date: 03/20/2025 |
9 | 9 |
|
10 | 10 | # Customer intent: As a platform engineer, I want to structure my catalog so that Azure Deployment Environments can find and cache environment definitions efficiently.
|
11 | 11 |
|
12 | 12 | ---
|
13 | 13 |
|
14 |
| -# Best practices for Azure Deployment Environment catalogs |
| 14 | +# Best practices for Azure Deployment Environments catalogs |
15 | 15 |
|
16 |
| -This article describes the best practice guidelines for structuring an Azure Deployment Environments catalog. |
| 16 | +This article describes best practices for structuring an Azure Deployment Environments catalog. |
17 | 17 |
|
18 | 18 | ## Structure the catalog for efficient caching
|
19 |
| -As a platform engineer, you should structure your catalog in a way that makes it easier and quicker for Azure Deployment Environments to find and cache environment definitions efficiently. By organizing the repository into a specific structure, you can better target files for caching and improve the overall performance of the deployment process. It's essential for platform engineers to understand these guidelines and structure their repositories accordingly to ensure optimal results. |
20 | 19 |
|
21 |
| -When you attach a catalog to a dev center, Deployment Environments scans the catalog for an environment.yaml file. On locating the file, ADE assumes the files in that folder and subfolders form an environment definition. ADE caches only the required files, not the entire repository. |
| 20 | +Platform engineers should structure catalogs in a way that makes it easier and quicker for Azure Deployment Environments to find and cache environment definitions. By organizing the repository into a specific structure, you can better target files for caching and improve the overall performance of the deployment process. To ensure optimal results, platform engineers need to understand these guidelines and structure their repositories accordingly. |
| 21 | + |
| 22 | +When you attach a catalog to a dev center, Deployment Environments scans the catalog for an environment.yaml or a manifest.yaml file. When it locates the file, Azure Deployment Environments assumes the files in that folder and subfolders form an environment definition. Azure Deployment Environments caches only the required files, not the entire repository. |
22 | 23 |
|
23 | 24 | The following diagram shows the recommended structure for a repo. Each template resides within a single folder.
|
24 | 25 |
|
25 | 26 | :::image type="content" source="media/best-practice-catalog-structure/deployment-environments-catalog-structure.png" alt-text="Diagram that shows the recommended folder structure for an Azure Deployment Environments catalog." lightbox="media/best-practice-catalog-structure/deployment-environments-catalog-structure.png":::
|
26 | 27 |
|
27 | 28 | ## Linked environment definitions
|
28 |
| -In a linked environment definitions scenario, multiple .json files can point to a single template. ADE checks linked environment definitions sequentially and retrieves the linked files and environment definitions from the repository. For best performance, these interactions should be minimized. |
29 | 29 |
|
30 |
| -## Update environment definitions and sync changes |
31 |
| -Over time, environment definitions need updates. You make those updates in your Git repository, and then you must manually sync the catalog up to update the changes to ADE. |
| 30 | +In a linked environment definitions scenario, multiple .json files can point to a single template. Azure Deployment Environments checks linked environment definitions sequentially and retrieves the linked files and environment definitions from the repository. For best performance, these interactions should be minimized. |
| 31 | + |
| 32 | +## Update environment definitions and sync changes |
| 33 | + |
| 34 | +Over time, environment definitions need updates. You make those updates in your Git repository. You must then manually sync the catalog to update the changes to Azure Deployment Environments. |
32 | 35 |
|
33 |
| -## Files outside recommended structure |
34 |
| -In the following example, the Azuredeploy.json file is above the environment.yaml file in the folder structure. This structure is not valid Azure Deployment Environments catalogs. Environment definitions cannot reference content outside of the catalog item folder. |
| 36 | +## Files outside of the recommended structure |
35 | 37 |
|
36 |
| -:::image type="content" source="media/best-practice-catalog-structure/deployment-environments-catalog-structure-not-supported.png" alt-text="Diagram that shows a nonsupported structure for an Azure Deployment Environments catalog, with a json file in a folder above the environment.yaml file." lightbox="media/best-practice-catalog-structure/deployment-environments-catalog-structure-not-supported.png"::: |
| 38 | +In the following example, the Azuredeploy.json file is above the environment.yaml (or manifest.yaml) file in the folder structure. This structure isn't valid. Environment definitions can't reference content outside of the catalog item folder. |
| 39 | + |
| 40 | +:::image type="content" source="media/best-practice-catalog-structure/deployment-environments-catalog-structure-not-supported.png" alt-text="Diagram that shows an unsupported structure for an Azure Deployment Environments catalog." lightbox="media/best-practice-catalog-structure/deployment-environments-catalog-structure-not-supported.png"::: |
37 | 41 |
|
38 | 42 | ## Related content
|
| 43 | + |
39 | 44 | - [Add and configure a catalog from GitHub or Azure DevOps in Azure Deployment Environments](/azure/deployment-environments/how-to-configure-catalog?tabs=DevOpsRepoMSI)
|
40 | 45 | - [Add and configure an environment definition in Azure Deployment Environments](/azure/deployment-environments/configure-environment-definition)
|
0 commit comments