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>

 


Related Question