The Azure Pipeline requires the following Azure resources and an Azure DevOps service connection to deploy a container image:
Azure Container Apps Environment:
- The separated environment lets container apps share networking and other infrastructure.
- Container Apps Environments simplify the management of multiple container apps that work together.
- Important Key Required:
- Unique identifier: "name" (e.g., "aca-environment"). Where the environment is created:
- the Azure region (for example, centralindia).
- Azure CLI: az containerapp env create --name <env_name> --resource-group <rg_name> --location <location>
Azure Resources:Azure Container Registry (ACR):
- Docker container images are stored and managed by ACR.
- Before deploying a container to Azure Container Apps, the image must be stored in a registry.
- Microsoft advises ACR as its registry for Azure services.
- Important Key Required:
- Unique Registry identifier: "name" (e.g., "myacr").
- SKU: Specifies the performance and storage capacity (e.g., Basic, Standard, Premium).
- Azure CLI: az acr create --name <acr_name> --resource-group <rg_name> --location <location> --sku <sku>
Azure Container App:
- Your containerised application is deployed here.
- This is the core resource that runs your application.
- Important Key Required:
- Name: A unique name for the container app (e.g., my-container-app).
- Image: The container image from ACR that you want to deploy.
- Environment: The Container Apps Environment where it will reside.
- Ingress: Configuration for how the app is accessed (external or internal).
- Target Port: The port on which the container listens
- Azure CLI: az containerapp create --name <app_name> --resource-group <rg_name> --environment <env_name> --image <acr_name>.azurecr.io/<image_name>:<tag> --target-port <port> --ingress <external/internal>