Delen via


Zelfstudie: Een container-app bijwerken die is geïmplementeerd vanuit broncode

Dit artikel laat zien hoe u de container-app die u in het vorige artikel hebt gemaakt, bijwerkt en uw broncode implementeert in Azure Container Apps.

Als u de stappen in het vorige artikel nog niet hebt voltooid, stopt u hier en keert u terug naar dit artikel zodra alle stappen zijn uitgevoerd.

In deze zelfstudie doet u het volgende:

  • Breng een codewijziging aan in uw toepassing.
  • Push uw wijzigingen naar het containerregister met een nieuwe tag.
  • Bekijk de bijgewerkte app in een browser.
  • Voer een query uit voor de logboekstroom om vastgelegde berichten weer te geven.

Vereisten

Voor het voltooien van dit project hebt u de hulpprogramma's, resources en container-app nodig die u in de vorige zelfstudie hebt gemaakt, van broncode bouwen en implementeren in Azure Container Apps.

Instellingen

  1. Meld u zo nodig aan bij Azure vanuit de CLI.

    az login
    
  2. Omgevingsvariabelen maken. Als uw omgevingsvariabelen uit de laatste zelfstudie nog steeds aanwezig zijn in uw terminal, kunt u deze stap overslaan.

    Als u de omgevingsvariabelen opnieuw moet maken, moet u eerst een query uitvoeren op de naam van het containerregister dat u in het laatste artikel hebt gemaakt.

    Voer de volgende opdracht uit om een query uit te voeren voor het containerregister dat u in de laatste zelfstudie hebt gemaakt.

    az acr list --query "[].{Name:name}" --output table
    

    Zodra u de naam van het containerregister hebt, vervangt <REGISTRY_NAME> u de registernaam en voert u de volgende opdracht uit.

    RESOURCE_GROUP="my-demo-group"
    CONTAINER_APP_NAME="my-demo-app"
    REGISTRY_NAME="<REGISTRY_NAME>"
    
  3. Werk de broncode bij en voer deze uit.

    Vervang de inhoud door Startup.cs de volgende code.

    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!");
                });
            });
        }
    }
    

    Deze versie van de code registreert een logboekregistratie om informatie naar de console en de Container Apps-logboekstream te schrijven.

    Bouw uw project in de releaseconfiguratie.

    dotnet build -c Release
    

    Voer vervolgens uw toepassing uit om te controleren of uw code correct is geïmplementeerd.

    dotnet run --configuration Release
    

De installatiekopieën naar een register bouwen en pushen

Nu uw code is bijgewerkt, kunt u de nieuwste versie als een nieuwe installatiekopieën naar uw containerregister pushen.

Gebruik de volgende opdracht om een tagnaam te maken die wordt gebruikt voor uw register.

IMAGE_TAG=$(date +%s)

U kunt nu uw nieuwe containerinstallatiekopieën bouwen en naar het register pushen met behulp van de volgende opdracht.

az acr build \
    -t $REGISTRY_NAME.azurecr.io/$CONTAINER_APP_NAME:$IMAGE_TAG \
    -r $REGISTRY_NAME .

Een nieuwe revisie maken

U kunt een nieuwe revisie van uw container-app maken op basis van de nieuwe containerinstallatiekopieën die u naar het register hebt gepusht.

az containerapp revision copy \
  --name $CONTAINER_APP_NAME \
  --resource-group $RESOURCE_GROUP \
  --image "$REGISTRY_NAME.azurecr.io/$CONTAINER_APP_NAME:$IMAGE_TAG" \
  --output none

Met revision copy de opdracht maakt u een nieuwe revisie van uw container-app met de opgegeven containerinstallatiekopieën uit het register.

Implementatie verifiëren

Nu uw toepassing is geïmplementeerd, kunt u met deze opdracht een query uitvoeren op de URL.

az containerapp show \
  --name $CONTAINER_APP_NAME \
  --resource-group $RESOURCE_GROUP \
  --query properties.configuration.ingress.fqdn -o tsv

Ga in een webbrowser naar de URL van de app. Zodra de container-app is gestart, wordt Hello Logger! uitgevoerd.

Querylogboekstream

U hebt zojuist de uitvoer gezien die naar de browser is verzonden, dus nu kunt u de volgende opdracht gebruiken om de berichten te zien die in de logboekstroom worden geregistreerd.

az containerapp logs show \
  --name $CONTAINER_APP_NAME \
  --resource-group $RESOURCE_GROUP \
  --follow

De query retourneert een antwoord dat lijkt op het volgende voorbeeld:

{"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!""}

U ziet hoe u het bericht Hello Logger! in de stream kunt zien.

Als u wilt stoppen met het volgen van de stream, kunt u Cmd/Ctrl + C invoeren om de berichten te beëindigen.

Resources opschonen

Als u de Azure-resources die in deze zelfstudie zijn gemaakt niet gaat gebruiken, kunt u ze verwijderen met de volgende opdracht.

az group delete --name my-demo-group

Tip

Ondervindt u problemen? Laat het ons weten op GitHub door een probleem te openen in de Azure Container Apps-opslagplaats.

Volgende stappen

Ga verder om te leren hoe u verbinding maakt met services in Azure Container Apps.