Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule pokazano, jak zaktualizować aplikację kontenera utworzoną w poprzednim artykule Build and deploy your source code to Azure Container Apps (Kompilowanie i wdrażanie kodu źródłowego w usłudze Azure Container Apps).
Jeśli nie wykonano kroków opisanych w poprzednim artykule, zatrzymaj się tutaj i wróć do tego artykułu po wykonaniu wszystkich kroków.
W tym samouczku wykonasz następujące elementy:
- Wprowadź zmianę kodu w aplikacji.
- Wypchnij zmiany do rejestru kontenerów przy użyciu nowego tagu.
- Wyświetl zaktualizowaną aplikację w przeglądarce.
- Wykonaj zapytanie względem strumienia dziennika, aby wyświetlić zarejestrowane komunikaty.
Wymagania wstępne
Do ukończenia tego projektu potrzebne są narzędzia, zasoby i aplikacja kontenera utworzona w poprzednim samouczku, kompilowanie i wdrażanie z kodu źródłowego do usługi Azure Container Apps.
Ustawienia
W razie potrzeby zaloguj się do platformy Azure z poziomu interfejsu wiersza polecenia.
az loginUtwórz zmienne środowiskowe. Jeśli zmienne środowiskowe z ostatniego samouczka nadal istnieją w terminalu, możesz pominąć ten krok.
Jeśli musisz ponownie utworzyć zmienne środowiskowe, najpierw musisz wykonać zapytanie dotyczące nazwy rejestru kontenerów utworzonej w ostatnim artykule.
Uruchom następujące polecenie, aby wykonać zapytanie dotyczące rejestru kontenerów utworzonego w ostatnim samouczku.
az acr list --query "[].{Name:name}" --output tablePo utworzeniu nazwy rejestru kontenerów zastąp
<REGISTRY_NAME>ciąg nazwą rejestru i uruchom następujące polecenie.RESOURCE_GROUP="my-demo-group" CONTAINER_APP_NAME="my-demo-app" REGISTRY_NAME="<REGISTRY_NAME>"Zaktualizuj i uruchom kod źródłowy.
Zastąp zawartość
Startup.cspliku następującym kodem.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!"); }); }); } }Ta wersja kodu rejestruje rejestratora w celu zapisania informacji w konsoli i strumieniu dziennika usługi Container Apps.
Skompiluj projekt w konfiguracji wydania.
dotnet build -c ReleaseNastępnie uruchom aplikację, aby sprawdzić, czy kod został poprawnie zaimplementowany.
dotnet run --configuration Release
Kompilowanie i wypychanie obrazu do rejestru
Po zaktualizowaniu kodu możesz wypchnąć najnowszą wersję jako nowy obraz do rejestru kontenerów.
Aby upewnić się, że tag używany dla rejestru jest unikatowy, użyj następującego polecenia, aby utworzyć nazwę tagu.
IMAGE_TAG=$(date +%s)
Teraz możesz skompilować i wypchnąć nowy obraz kontenera do rejestru przy użyciu następującego polecenia.
az acr build \
-t $REGISTRY_NAME.azurecr.io/$CONTAINER_APP_NAME:$IMAGE_TAG \
-r $REGISTRY_NAME .
Tworzenie nowej poprawki
Możesz utworzyć nową wersję aplikacji kontenera na podstawie nowego obrazu kontenera wypchniętego do rejestru.
az containerapp revision copy \
--name $CONTAINER_APP_NAME \
--resource-group $RESOURCE_GROUP \
--image "$REGISTRY_NAME.azurecr.io/$CONTAINER_APP_NAME:$IMAGE_TAG" \
--output none
Polecenie revision copy tworzy nową poprawkę aplikacji kontenera z określonym obrazem kontenera z rejestru.
Weryfikowanie wdrożenia
Po wdrożeniu aplikacji możesz wykonać zapytanie dotyczące adresu URL za pomocą tego polecenia.
az containerapp show \
--name $CONTAINER_APP_NAME \
--resource-group $RESOURCE_GROUP \
--query properties.configuration.ingress.fqdn -o tsv
W przeglądarce internetowej przejdź do adresu URL aplikacji. Po uruchomieniu aplikacji kontenera zwracana jest wartość Hello Logger!.
Strumień dziennika zapytań
Właśnie zostały wyświetlone dane wyjściowe wysyłane do przeglądarki, więc teraz możesz użyć następującego polecenia, aby wyświetlić komunikaty rejestrowane w strumieniu dziennika.
az containerapp logs show \
--name $CONTAINER_APP_NAME \
--resource-group $RESOURCE_GROUP \
--follow
Zapytanie zwraca odpowiedź podobną do następującego przykładu:
{"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!""}
Zwróć uwagę, jak można zobaczyć komunikat Hello Logger! w strumieniu.
Aby zatrzymać działanie strumienia, możesz wprowadzić Cmd/Ctrl + C, aby zakończyć komunikaty.
Czyszczenie zasobów
Jeśli nie zamierzasz używać zasobów platformy Azure utworzonych w tym samouczku, możesz je usunąć za pomocą następującego polecenia.
az group delete --name my-demo-group
Napiwek
Masz problemy? Poinformuj nas o usłudze GitHub, otwierając problem w repozytorium usługi Azure Container Apps.
Następne kroki
Kontynuuj, aby dowiedzieć się, jak nawiązać połączenie z usługami w usłudze Azure Container Apps.