Skip to content

Instantly share code, notes, and snippets.

@claudioaltamura
Last active July 10, 2023 12:53
Show Gist options
  • Save claudioaltamura/d9109761196dfe31eb3817f3fc7b778d to your computer and use it in GitHub Desktop.
Save claudioaltamura/d9109761196dfe31eb3817f3fc7b778d to your computer and use it in GitHub Desktop.
Azure ContainerApp Deployment with Azure Container Registry and external access
# General
az login
echo "logged in \n"
#az extension add --name containerapp --upgrade
#az provider register --namespace Microsoft.App
#az provider register --namespace Microsoft.OperationalInsights
# Azure Resource Group
export AZURE_LOCATION="westeurope"
export AZURE_RESOURCE_GROUP="example-group"
az group create \
--name $AZURE_RESOURCE_GROUP \
--location "$AZURE_LOCATION"
echo "created resource group \n"
# Azure Container Registry
export AZURE_ACR_NAME="myregistry"
export AZURE_ACR_RESOURCE_GROUP="myregistry-registry-group"
az group create --name $AZURE_ACR_RESOURCE_GROUP --location "$AZURE_LOCATION"
echo "created container resource group \n"
az acr create --resource-group $AZURE_ACR_RESOURCE_GROUP \
--name $AZURE_ACR_NAME \
--sku Basic \
--admin-enabled true
echo "created container registry \n"
# Push own images
export AZURE_DOCKER_NAME="example"
#docker tag $AZURE_DOCKER_NAME:v1 $AZURE_ACR_NAME.azurecr.io/$AZURE_DOCKER_NAME:v1
#docker image ls | grep $AZURE_DOCKER_NAME
az acr login --name $AZURE_ACR_NAME
echo "acr login in \n"
docker push $AZURE_ACR_NAME.azurecr.io/$AZURE_DOCKER_NAME:v1
echo "docker image pushed \n"
# Deploy Azure ContainerApps
export AZURE_RESOURCE_GROUP="example-group"
export AZURE_ENVIRONMENT="example-env"
export AZURE_APP_NAME="example-app"
export AZURE_APP_PORT="8080"
export AZURE_IMG_NAME="example:v1"
az containerapp env create \
--name $AZURE_ENVIRONMENT \
--resource-group $AZURE_RESOURCE_GROUP \
--location "$AZURE_LOCATION"
echo "created containerapp env \n"
az containerapp create \
--name $AZURE_APP_NAME \
--resource-group $AZURE_RESOURCE_GROUP \
--environment $AZURE_ENVIRONMENT \
--image $AZURE_ACR_NAME.azurecr.io/$AZURE_IMG_NAME \
--target-port $AZURE_APP_PORT \
--ingress 'external' \
--registry-server $AZURE_ACR_NAME.azurecr.io \
--query properties.configuration.ingress.fqdn
echo "created container app \n"
# Clean up
#az group delete --name $AZURE_RESOURCE_GROUP
#az group delete --name $AZURE_ACR_RESOURCE_GROUP
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment