Oktatóanyag: Forráskódból üzembe helyezett tárolóalkalmazás frissítése

Ez a cikk bemutatja, hogyan frissítheti az előző cikkben létrehozott tárolóalkalmazást, hogyan hozhatja létre és helyezheti üzembe a forráskódot az Azure Container Appsben.

Ha még nem hajtotta végre az előző cikkben leírt lépéseket, itt áll meg, és térjen vissza ehhez a cikkhez, ha az összes lépés befejeződött.

Ebben az oktatóanyagban a következőket fogja elkönyvelni:

  • Módosítsa az alkalmazás kódját.
  • Küldje el a módosításokat a tárolóregisztrációs adatbázisba egy új címkével.
  • A frissített alkalmazás megtekintése böngészőben.
  • A naplóstream lekérdezése a naplózott üzenetek megtekintéséhez.

Előfeltételek

A projekt elvégzéséhez szüksége lesz az előző oktatóanyagban létrehozott eszközökre, erőforrásokra és tárolóalkalmazásra, a forráskódból az Azure Container Appsbe való buildelésre és üzembe helyezésre.

Beállítás

  1. Ha szükséges, jelentkezzen be az Azure-ba a parancssori felületről.

    az login
    
  2. Környezeti változók létrehozása. Ha az utolsó oktatóanyag környezeti változói továbbra is léteznek a terminálban, kihagyhatja ezt a lépést.

    Ha újra létre kell hoznia a környezeti változókat, először le kell kérdeznie az előző cikkben létrehozott tárolóregisztrációs adatbázis nevét.

    Futtassa a következő parancsot a legutóbbi oktatóanyagban létrehozott tárolóregisztrációs adatbázis lekérdezéséhez.

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

    Miután megkapta a tárolóregisztrációs adatbázis nevét, cserélje le <REGISTRY_NAME> a beállításjegyzék nevére, és futtassa a következő parancsot.

    RESOURCE_GROUP="my-demo-group"
    CONTAINER_APP_NAME="my-demo-app"
    REGISTRY_NAME="<REGISTRY_NAME>"
    
  3. Frissítse és futtassa a forráskódot.

    Cserélje le a tartalomra Startup.cs a következő kódot.

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

    A kód ezen verziója regisztrál egy naplózót, hogy adatokat írjon ki a konzolra és a Container Apps naplóstreamjéhez.

    Hozza létre a projektet a kiadási konfigurációban.

    dotnet build -c Release
    

    Ezután futtassa az alkalmazást annak ellenőrzéséhez, hogy a kód megfelelően van-e implementálva.

    dotnet run --configuration Release
    

A rendszerkép létrehozása és leküldése egy beállításjegyzékbe

A kód frissítése után leküldheti a legújabb verziót új lemezképként a tárolóregisztrációs adatbázisba.

Ha meg szeretné győződni arról, hogy a beállításjegyzékben használt címke egyedi, az alábbi paranccsal hozzon létre egy címkenevet.

IMAGE_TAG=$(date +%s)

Most az alábbi paranccsal létrehozhatja és leküldheti az új tárolórendszerképet a beállításjegyzékbe.

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

Új változat létrehozása

A tárolóalkalmazás új változatát a beállításjegyzékbe leküldett új tárolórendszerkép alapján hozhatja létre.

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

A revision copy parancs létrehozza a tárolóalkalmazás új változatát a megadott tárolórendszerképpel a beállításjegyzékből.

Az üzembe helyezés ellenőrzése

Az alkalmazás üzembe helyezése után ezzel a paranccsal lekérdezheti az URL-címet.

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

Egy webböngészőben nyissa meg az alkalmazás URL-címét. A tárolóalkalmazás elindítása után a Hello Logger!-t adja ki.

Lekérdezési naplóstream

Most látta a böngészőnek küldött kimenetet, így az alábbi paranccsal megtekintheti a naplóstreamben naplózott üzeneteket.

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

A lekérdezés az alábbi példához hasonló választ ad vissza:

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

Figyelje meg, hogyan láthatja a stream üzenetét Hello Logger! .

A stream követésének leállításához írja be a Cmd/Ctrl C billentyűkombinációt + az üzenetek leállításához.

Az erőforrások eltávolítása

Ha nem fogja használni az oktatóanyagban létrehozott Azure-erőforrásokat, az alábbi paranccsal távolíthatja el őket.

az group delete --name my-demo-group

Tipp.

Problémákat tapasztal? Tudassa velünk a GitHubon, ha megnyit egy hibát az Azure Container Apps adattárában.

Következő lépések

További információ az Azure Container Apps szolgáltatásaihoz való csatlakozásról.