Skip to content

Commit 805d7fa

Browse files
author
RoseHJM
committed
ADE - Extensibility model restructure - Generic
1 parent 69721b3 commit 805d7fa

File tree

1 file changed

+53
-11
lines changed

1 file changed

+53
-11
lines changed

articles/deployment-environments/how-to-configure-extensibility-generic-container-image.md

Lines changed: 53 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: Learn how to use the ADE extensibility model to build and utilize c
55
ms.service: deployment-environments
66
author: RoseHJM
77
ms.author: rosemalcolm
8-
ms.date: 04/13/2024
8+
ms.date: 05/28/2024
99
ms.topic: how-to
1010

1111
#customer intent: As a developer, I want to learn how to build and utilize custom images with my environment definitions for deployment environments.
@@ -29,16 +29,50 @@ The ADE CLI is a tool that allows you to build custom images by using ADE base i
2929
- Azure Deployment Environments set up in your Azure subscription.
3030
- To set up ADE, follow the [Quickstart: Configure Azure Deployment Environments](quickstart-create-and-configure-devcenter.md).
3131

32-
## Create and build a container image
32+
## Use container images with ADE
33+
34+
You can take one of the following approaches to use container images with ADE:
35+
36+
- **Use the standard container image:** For simple scenarios, use the standard Bicep container image provided by ADE.
37+
- **Create a custom container image:** For more complex scenarios, create a custom container image that meets your specific requirements.
38+
39+
Regardless of which approach you choose, you must specify the container image in your environment definition to deploy your Azure resources.
40+
41+
## Use a standard image
42+
43+
ADE supports 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 the standard Bicep container image to create the deployment environment.
44+
45+
In the environment.yaml file, the runner property specifies the location of the container 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.
46+
47+
The following example shows a runner that references the sample Bicep container image:
48+
```yml
49+
name: WebApp
50+
version: 1.0.0
51+
summary: Azure Web App Environment
52+
description: Deploys a web app in Azure without a datastore
53+
runner: Bicep
54+
templatePath: azuredeploy.json
55+
```
56+
You can see the standard Bicep container image in the ADE sample repository under the [Runner-Images folder for the ARM-Bicep](https://github.com/Azure/deployment-environments/tree/main/Runner-Images/ARM-Bicep) image.
57+
58+
For more information about how to create environment definitions that use the ADE container images to deploy your Azure resources, see [Add and configure an environment definition](/azure/deployment-environments/configure-environment-definition).
59+
60+
## Create a custom container image
61+
62+
Creating a custom container image allows you to customize your deployments to fit your requirements. You can create custom images based on the ADE standard container images.
63+
64+
After you complete the image customization, you must build the image and push it to your container registry.
65+
66+
### Create and customize a container image with Docker
3367
3468
In this example, you learn how to build a Docker image to utilize ADE deployments and access the ADE CLI, basing your image on one of the ADE authored images.
3569
36-
To build an image configured for ADE, follow these steps:
70+
The ADE CLI is a tool that allows you to build custom images by using ADE base images. You can use the ADE CLI to customize your deployments and deletions to fit your workflow. The ADE CLI is preinstalled on the sample images. To learn more about the ADE CLI, see the [CLI Custom Runner Image reference](https://aka.ms/deployment-environments/ade-cli-reference).
71+
72+
To create an image configured for ADE, follow these steps:
3773
1. Base your image on an ADE-authored sample image or the image of your choice by using the FROM statement.
3874
1. Install any necessary packages for your image by using the RUN statement.
3975
1. Create a *scripts* folder at the same level as your Dockerfile, store your *deploy.sh* and *delete.sh* files within it, and ensure those scripts are discoverable and executable inside your created container. This step is necessary for your deployment to work using the ADE core image.
40-
1. Build and push your image to your container registry, and ensure it's accessible to ADE.
41-
1. Reference your image in the `runner` property of your environment definition.
4276
4377
### Select a sample container image by using the FROM statement
4478
@@ -78,7 +112,13 @@ RUN find /scripts/ -type f -iname "*.sh" -exec dos2unix '{}' '+'
78112
RUN find /scripts/ -type f -iname "*.sh" -exec chmod +x {} \;
79113
```
80114

81-
### Build the image
115+
## Make the custom image accessible to ADE
116+
117+
You must build your Docker image and push it to your container registry to make it available for use in ADE. You can build your image using the Docker CLI, or by using a script provided by ADE.
118+
119+
Select the appropriate tab to learn more about each approach.
120+
121+
## [Build the image with Docker CLI](#tab/build-the-image-with-docker-cli/)
82122

83123
Before you build the image to be pushed to your registry, ensure the [Docker Engine is installed](https://docs.docker.com/desktop/) on your computer. Then, navigate to the directory of your Dockerfile, and run the following command:
84124

@@ -92,7 +132,7 @@ For example, if you want to save your image under a repository within your regis
92132
docker build . -t {YOUR_REGISTRY}.azurecr.io/customImage:1.0.0
93133
```
94134

95-
## Push the image to a registry
135+
### Push the image to a registry
96136

97137
In order to use custom images, you need to set up a publicly accessible image registry with anonymous image pull enabled. This way, Azure Deployment Environments can access your custom image to execute in our container.
98138

@@ -114,6 +154,11 @@ When you're ready to push your image to your registry, run the following command
114154
```docker
115155
docker push {YOUR_REGISTRY}.azurecr.io/{YOUR_IMAGE_LOCATION}:{YOUR_TAG}
116156
```
157+
## [Build a container image with a script](#tab/build-a-container-image-with-a-script/)
158+
159+
[!INCLUDE [custom-image-script](includes/custom-image-script.md)]
160+
161+
---
117162

118163
## Connect the image to your environment definition
119164

@@ -123,14 +168,11 @@ When authoring environment definitions to use your custom image in their deploym
123168
runner: "{YOUR_REGISTRY}.azurecr.io/{YOUR_REPOSITORY}:{YOUR_TAG}"
124169
```
125170
126-
## Build a container image with a script
127-
128-
[!INCLUDE [custom-image-script](includes/custom-image-script.md)]
129-
130171
## Access operation logs and error details
131172
132173
[!INCLUDE [custom-image-logs-errors](includes/custom-image-logs-errors.md)]
133174
134175
## Related content
135176
136177
- [ADE CLI Custom Runner Image reference](https://aka.ms/deployment-environments/ade-cli-reference)
178+
- [ADE CLI variables reference](reference-deployment-environment-variables.md)

0 commit comments

Comments
 (0)