Below is the complete powershell script. I am having issues with the az acr build command.
I am passing the $sourceLocation varaible as the source which the current directory. New to containers so perhaps I am totally wrong. Please advise.
<code># Variables for Service Principal
$appId = "14200442-a44f-4d9c-bad1-221788ca02f7"
$password = "somepassword"
$tenant = "2c26cdb9-6a43-4ca0-9ab1-2860e250765d"
$acrName = "weatherregistry"
$imageName = "weather-scrapy"
$resourceGroup = "rg-SportsAzureFunctionsContainer"
$containerAppName = "weather-scrapy-shell"
$acrLoginServer = "$acrName.azurecr.io"
$sourceLocation = "."
# Authenticate with Azure using Service Principal
az login --service-principal --username $appId --password $password --tenant $tenant
# Login to Azure Container Registry
az acr login --name $acrName
# Remove existing image from ACR (suppress error if not found)
try {
write-host('az acr repository delete')
az acr repository delete --name $acrName --repository $imageName --yes
} catch {
Write-Host "Repository not found, proceeding with build..."
}
# Build the Docker Image on Azure using ACR build
write-host('az acr build')
az acr build --registry $acrName --image $imageName:latest $sourceLocation
#$sourceLocation
# Update the Azure Container App to use the latest image
az containerapp update --name $containerAppName --resource-group $resourceGroup --image $acrLoginServer/$imageName:latest
# Check the provisioning state
$containerAppDetails = az containerapp show --name $containerAppName --resource-group $resourceGroup | ConvertFrom-Json
if ($containerAppDetails.properties.provisioningState -eq "Succeeded") {
Write-Host "Container App updated and running successfully."
} else {
Write-Host "Provisioning State: $($containerAppDetails.properties.provisioningState)"
Write-Host "Detailed Error Message: $($containerAppDetails.properties.latestReadyRevisionName)"
Write-Host "Event Stream Endpoint: $($containerAppDetails.properties.eventStreamEndpoint)"
}
# Connect to the Container and Verify
az containerapp exec --name $containerAppName --resource-group $resourceGroup --container $containerAppName --command "/bin/bash"
</code>
<code># Variables for Service Principal
$appId = "14200442-a44f-4d9c-bad1-221788ca02f7"
$password = "somepassword"
$tenant = "2c26cdb9-6a43-4ca0-9ab1-2860e250765d"
$acrName = "weatherregistry"
$imageName = "weather-scrapy"
$resourceGroup = "rg-SportsAzureFunctionsContainer"
$containerAppName = "weather-scrapy-shell"
$acrLoginServer = "$acrName.azurecr.io"
$sourceLocation = "."
# Authenticate with Azure using Service Principal
az login --service-principal --username $appId --password $password --tenant $tenant
# Login to Azure Container Registry
az acr login --name $acrName
# Remove existing image from ACR (suppress error if not found)
try {
write-host('az acr repository delete')
az acr repository delete --name $acrName --repository $imageName --yes
} catch {
Write-Host "Repository not found, proceeding with build..."
}
# Build the Docker Image on Azure using ACR build
write-host('az acr build')
az acr build --registry $acrName --image $imageName:latest $sourceLocation
#$sourceLocation
# Update the Azure Container App to use the latest image
az containerapp update --name $containerAppName --resource-group $resourceGroup --image $acrLoginServer/$imageName:latest
# Check the provisioning state
$containerAppDetails = az containerapp show --name $containerAppName --resource-group $resourceGroup | ConvertFrom-Json
if ($containerAppDetails.properties.provisioningState -eq "Succeeded") {
Write-Host "Container App updated and running successfully."
} else {
Write-Host "Provisioning State: $($containerAppDetails.properties.provisioningState)"
Write-Host "Detailed Error Message: $($containerAppDetails.properties.latestReadyRevisionName)"
Write-Host "Event Stream Endpoint: $($containerAppDetails.properties.eventStreamEndpoint)"
}
# Connect to the Container and Verify
az containerapp exec --name $containerAppName --resource-group $resourceGroup --container $containerAppName --command "/bin/bash"
</code>
# Variables for Service Principal
$appId = "14200442-a44f-4d9c-bad1-221788ca02f7"
$password = "somepassword"
$tenant = "2c26cdb9-6a43-4ca0-9ab1-2860e250765d"
$acrName = "weatherregistry"
$imageName = "weather-scrapy"
$resourceGroup = "rg-SportsAzureFunctionsContainer"
$containerAppName = "weather-scrapy-shell"
$acrLoginServer = "$acrName.azurecr.io"
$sourceLocation = "."
# Authenticate with Azure using Service Principal
az login --service-principal --username $appId --password $password --tenant $tenant
# Login to Azure Container Registry
az acr login --name $acrName
# Remove existing image from ACR (suppress error if not found)
try {
write-host('az acr repository delete')
az acr repository delete --name $acrName --repository $imageName --yes
} catch {
Write-Host "Repository not found, proceeding with build..."
}
# Build the Docker Image on Azure using ACR build
write-host('az acr build')
az acr build --registry $acrName --image $imageName:latest $sourceLocation
#$sourceLocation
# Update the Azure Container App to use the latest image
az containerapp update --name $containerAppName --resource-group $resourceGroup --image $acrLoginServer/$imageName:latest
# Check the provisioning state
$containerAppDetails = az containerapp show --name $containerAppName --resource-group $resourceGroup | ConvertFrom-Json
if ($containerAppDetails.properties.provisioningState -eq "Succeeded") {
Write-Host "Container App updated and running successfully."
} else {
Write-Host "Provisioning State: $($containerAppDetails.properties.provisioningState)"
Write-Host "Detailed Error Message: $($containerAppDetails.properties.latestReadyRevisionName)"
Write-Host "Event Stream Endpoint: $($containerAppDetails.properties.eventStreamEndpoint)"
}
# Connect to the Container and Verify
az containerapp exec --name $containerAppName --resource-group $resourceGroup --container $containerAppName --command "/bin/bash"
This is the line that is erroring out. The $sourceLocation is set to “.” so it should be the current working directory is my understanding.
<code>az acr build --registry $acrName --image $imageName:latest $sourceLocation
</code>
<code>az acr build --registry $acrName --image $imageName:latest $sourceLocation
</code>
az acr build --registry $acrName --image $imageName:latest $sourceLocation
Here is the error
<code>az acr build
the following arguments are required: <SOURCE_LOCATION>
Examples from AI knowledge base:
az acr build --image sample/hello-world:{{.Run.ID}} --registry MyRegistry .
Queue a local context as a Linux build, tag it, and push it to the registry.
az acr build --registry MyRegistry --file Windows.Dockerfile --platform windows https://github.com/Azure/acr-builder.git
Queue a remote GitHub context as a Windows build, tag it, and push it to the registry.
https://docs.microsoft.com/en-US/cli/azure/acr#az_acr_build
Read more about the command in reference docs
The containerapp 'weather-scrapy-shell' does not exist
</code>
<code>az acr build
the following arguments are required: <SOURCE_LOCATION>
Examples from AI knowledge base:
az acr build --image sample/hello-world:{{.Run.ID}} --registry MyRegistry .
Queue a local context as a Linux build, tag it, and push it to the registry.
az acr build --registry MyRegistry --file Windows.Dockerfile --platform windows https://github.com/Azure/acr-builder.git
Queue a remote GitHub context as a Windows build, tag it, and push it to the registry.
https://docs.microsoft.com/en-US/cli/azure/acr#az_acr_build
Read more about the command in reference docs
The containerapp 'weather-scrapy-shell' does not exist
</code>
az acr build
the following arguments are required: <SOURCE_LOCATION>
Examples from AI knowledge base:
az acr build --image sample/hello-world:{{.Run.ID}} --registry MyRegistry .
Queue a local context as a Linux build, tag it, and push it to the registry.
az acr build --registry MyRegistry --file Windows.Dockerfile --platform windows https://github.com/Azure/acr-builder.git
Queue a remote GitHub context as a Windows build, tag it, and push it to the registry.
https://docs.microsoft.com/en-US/cli/azure/acr#az_acr_build
Read more about the command in reference docs
The containerapp 'weather-scrapy-shell' does not exist
I do realize that the last line says it doe not exists but in Azure portal
weather-scrapy-shell
Status : Running
Location (move) : East US