Skip to content

Commit 8a35d24

Browse files
authored
Merge pull request #259609 from RoseHJM/ade-best-catalog
ADE - New best practices article
2 parents 416500d + 04d418e commit 8a35d24

File tree

4 files changed

+42
-0
lines changed

4 files changed

+42
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
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."
4+
author: RoseHJM
5+
ms.author: rosemalcolm
6+
ms.service: deployment-environments
7+
ms.topic: best-practice
8+
ms.date: 11/27/2023
9+
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+
12+
---
13+
14+
# Best practices for Azure Deployment Environment catalogs
15+
16+
This article describes the best practice guidelines for structuring an Azure Deployment Environments catalog.
17+
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+
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.
22+
23+
The following diagram shows the recommended structure for a repo. Each template resides within a single folder.
24+
25+
:::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+
## Linked environment definitions
28+
In a linked environment definitions scenario, multiple .json files can point to a single ARM 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+
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.
32+
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.
35+
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":::
37+
38+
## Related content
39+
- [Add and configure a catalog from GitHub or Azure DevOps in Azure Deployment Environments](/azure/deployment-environments/how-to-configure-catalog?tabs=DevOpsRepoMSI)
40+
- [Add and configure an environment definition in Azure Deployment Environments](/azure/deployment-environments/configure-environment-definition)
Loading
Loading

articles/deployment-environments/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ items:
2626
href: concept-environments-scenarios.md
2727
- name: Parameters and data types in environment.yaml
2828
href: concept-environment-yaml.md
29+
- name: Best practices for designing catalogs
30+
href: best-practice-catalog-structure.md
2931
- name: Reliability in Azure Deployment Environments
3032
href: ../reliability/reliability-deployment-environments.md?toc=/azure/deployment-environments/toc.json&bc=/azure/deployment-environments/breadcrumb/toc.json
3133
- name: How-to guides

0 commit comments

Comments
 (0)