Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come aggiornare l'app contenitore creata nell'articolo precedente, Compilare e distribuire il codice sorgente in App Azure Container.
Se non sono stati completati i passaggi dell'articolo precedente, arrestare qui e tornare a questo articolo dopo aver completato tutti i passaggi.
In questa esercitazione:
- Apportare una modifica al codice all'applicazione.
- Eseguire il push delle modifiche nel registro contenitori con un nuovo tag.
- Visualizzare l'app aggiornata in un browser.
- Eseguire una query sul flusso di log per visualizzare i messaggi registrati.
Prerequisiti
Per completare questo progetto, sono necessari gli strumenti, le risorse e l'app contenitore creati nell'esercitazione precedente, Compilare e distribuire dal codice sorgente ad App Contenitore di Azure.
Attrezzaggio
Se necessario, accedere ad Azure dall'interfaccia della riga di comando.
az loginCreare variabili di ambiente. Se le variabili di ambiente dell'ultima esercitazione esistono ancora nel terminale, è possibile ignorare questo passaggio.
Se è necessario ricreare le variabili di ambiente, è prima necessario eseguire una query sul nome del registro contenitori creato nell'ultimo articolo.
Eseguire il comando seguente per eseguire una query per il registro contenitori creato nell'ultima esercitazione.
az acr list --query "[].{Name:name}" --output tableDopo aver ottenuto il nome del registro contenitori, sostituire
<REGISTRY_NAME>con il nome del registro ed eseguire il comando seguente.RESOURCE_GROUP="my-demo-group" CONTAINER_APP_NAME="my-demo-app" REGISTRY_NAME="<REGISTRY_NAME>"Aggiornare ed eseguire il codice sorgente.
Sostituire il contenuto di
Startup.cscon il codice seguente.public class Startup { public void ConfigureServices(IServiceCollection services) { } public void Configure(IApplicationBuilder app, ILogger<Startup> logger) { app.UseRouting(); app.UseEndpoints(endpoints => { endpoints.MapGet("/", async context => { logger.LogInformation("Hello Logger!"); await context.Response.WriteAsync("Hello Logger!"); }); }); } }Questa versione del codice registra un logger per scrivere informazioni nella console e nel flusso di log delle app contenitore.
Compilare il progetto in Configurazione versione.
dotnet build -c ReleaseEseguire quindi l'applicazione per verificare che il codice sia implementato correttamente.
dotnet run --configuration Release
Compilare ed eseguire il push dell'immagine in un registro
Ora che il codice è stato aggiornato, è possibile eseguire il push della versione più recente come nuova immagine nel registro contenitori.
Per assicurarsi che il tag usato per il Registro di sistema sia univoco, usare il comando seguente per creare un nome di tag.
IMAGE_TAG=$(date +%s)
È ora possibile compilare ed eseguire il push della nuova immagine del contenitore nel registro usando il comando seguente.
az acr build \
-t $REGISTRY_NAME.azurecr.io/$CONTAINER_APP_NAME:$IMAGE_TAG \
-r $REGISTRY_NAME .
Creare una nuova revisione
È possibile creare una nuova revisione dell'app contenitore in base alla nuova immagine del contenitore di cui è stato eseguito il push nel registro.
az containerapp revision copy \
--name $CONTAINER_APP_NAME \
--resource-group $RESOURCE_GROUP \
--image "$REGISTRY_NAME.azurecr.io/$CONTAINER_APP_NAME:$IMAGE_TAG" \
--output none
Il revision copy comando crea una nuova revisione dell'app contenitore con l'immagine del contenitore specificata dal registro.
Verificare la distribuzione
Ora che l'applicazione è stata distribuita, è possibile eseguire una query per l'URL con questo comando.
az containerapp show \
--name $CONTAINER_APP_NAME \
--resource-group $RESOURCE_GROUP \
--query properties.configuration.ingress.fqdn -o tsv
In un Web browser passare all'URL dell'app. Dopo l'avvio dell'app contenitore, restituisce Hello Logger!.
Flusso di log delle query
È stato appena visualizzato l'output inviato al browser, quindi ora è possibile usare il comando seguente per visualizzare i messaggi registrati nel flusso di log.
az containerapp logs show \
--name $CONTAINER_APP_NAME \
--resource-group $RESOURCE_GROUP \
--follow
La query restituisce una risposta simile all'esempio seguente:
{"TimeStamp", "xxxx", "Log": "info: Microsoft.Hosting.Lifetime[0]"}
{"TimeStamp", "xxxx", "Log": "Hosting environment: Production"}
{"TimeStamp", "xxxx", "Log": "info: Microsoft.Hosting.Lifetime[0]"}
{"TimeStamp", "xxxx", "Log": "Content root path: /app"}
{"TimeStamp", "xxxx", "Log": "info: Startup[0]"}
{"TimeStamp", "xxxx", "Log": "Hello Logger!""}
Si noti come è possibile visualizzare il messaggio di Hello Logger! nel flusso.
Per interrompere l'esecuzione del flusso, è possibile immettere Cmd/CTRL + C per terminare i messaggi.
Pulire le risorse
Se non si intende usare le risorse di Azure create in questa esercitazione, è possibile rimuoverle con il comando seguente.
az group delete --name my-demo-group
Suggerimento
Problemi? Segnalare i problemi su GitHub aprendo un ticket nel repository App contenitore di Azure.
Passaggi successivi
Continuare per informazioni su come connettersi ai servizi in App Azure Container.