Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, kaynak kodunuzu derleme ve Azure Container Apps'e dağıtma başlıklı önceki makalede oluşturduğunuz kapsayıcı uygulamasını güncelleştirme adımları gösterilmektedir.
Önceki makaledeki adımları tamamlamadıysanız, burada durun ve tüm adımlar tamamlandıktan sonra bu makaleye dönün.
Bu öğreticide şunlarız:
- Uygulamanızda kod değişikliği yapın.
- Değişikliklerinizi yeni bir etiketle kapsayıcı kayıt defterine gönderin.
- Güncelleştirilmiş uygulamayı tarayıcıda görüntüleyin.
- Günlüğe kaydedilen iletileri görüntülemek için günlük akışını sorgular.
Önkoşullar
Bu projeyi tamamlamak için, önceki öğreticide (Kaynak kodu derleme ve Azure Container Apps'e dağıtma) oluşturulmuş araçlara, kaynaklara ve kapsayıcı uygulamasına ihtiyacınız vardır.
Ayarlama
Gerekirse CLI'dan Azure'da oturum açın.
az loginOrtam değişkenleri oluşturma. Son öğreticideki ortam değişkenleriniz terminalinizde hala varsa, bu adımı atlayabilirsiniz.
Ortam değişkenlerini yeniden oluşturmanız gerekiyorsa, önce son makalede oluşturduğunuz kapsayıcı kayıt defteri adını sorgulamanız gerekir.
Son öğreticide oluşturduğunuz kapsayıcı kayıt defterini sorgulamak için aşağıdaki komutu çalıştırın.
az acr list --query "[].{Name:name}" --output tableKapsayıcı kayıt defteri adınızı aldıktan sonra değerini kayıt defteri adınızla değiştirin
<REGISTRY_NAME>ve aşağıdaki komutu çalıştırın.RESOURCE_GROUP="my-demo-group" CONTAINER_APP_NAME="my-demo-app" REGISTRY_NAME="<REGISTRY_NAME>"Kaynak kodunuzu güncelleştirin ve çalıştırın.
öğesinin içeriğini
Startup.csaşağıdaki kodla değiştirin.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!"); }); }); } }Kodun bu sürümü, konsola ve Container Apps günlük akışına bilgi yazmak için bir günlükçü kaydeder.
Projenizi Sürüm yapılandırması'nda oluşturun.
dotnet build -c ReleaseArdından kodunuzun doğru uygulandığını doğrulamak için uygulamanızı çalıştırın.
dotnet run --configuration Release
Görüntüyü derleme ve kayıt defterine gönderme
Kodunuz güncelleştirildiğinden, kapsayıcı kayıt defterinize yeni bir görüntü olarak en son sürümü gönderebilirsiniz.
Kayıt defterinizde kullanılan etiketin benzersiz olduğundan emin olmak için aşağıdaki komutu kullanarak bir etiket adı oluşturun.
IMAGE_TAG=$(date +%s)
Şimdi aşağıdaki komutu kullanarak yeni kapsayıcı görüntünüzü derleyebilir ve kayıt defterine gönderebilirsiniz.
az acr build \
-t $REGISTRY_NAME.azurecr.io/$CONTAINER_APP_NAME:$IMAGE_TAG \
-r $REGISTRY_NAME .
Yeni düzeltme oluşturma
Kayıt defterinize gönderilen yeni kapsayıcı görüntüsüne göre kapsayıcı uygulamanızın yeni bir düzeltmesini oluşturabilirsiniz.
az containerapp revision copy \
--name $CONTAINER_APP_NAME \
--resource-group $RESOURCE_GROUP \
--image "$REGISTRY_NAME.azurecr.io/$CONTAINER_APP_NAME:$IMAGE_TAG" \
--output none
komutu, revision copy kayıt defterinden belirtilen kapsayıcı görüntüsüyle kapsayıcı uygulamanızın yeni bir düzeltmesini oluşturur.
Dağıtımı doğrulama
Uygulamanız dağıtıldığından bu komutla URL'yi sorgulayabilirsiniz.
az containerapp show \
--name $CONTAINER_APP_NAME \
--resource-group $RESOURCE_GROUP \
--query properties.configuration.ingress.fqdn -o tsv
Web tarayıcısında uygulamanın URL'sine gidin. Kapsayıcı uygulaması başlatıldıktan sonra Hello Logger! çıkışını verir.
Sorgu günlüğü akışı
Çıkışın tarayıcıya gönderildiğini gördünüz, böylece şimdi günlük akışında günlüğe kaydedilen iletileri görmek için aşağıdaki komutu kullanabilirsiniz.
az containerapp logs show \
--name $CONTAINER_APP_NAME \
--resource-group $RESOURCE_GROUP \
--follow
Sorgu aşağıdaki örneğe benzer bir yanıt döndürür:
{"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!""}
akışında iletisini Hello Logger! nasıl görebileceğinize dikkat edin.
Akışı takip etmeyi durdurmak için, iletileri sonlandırmak için Cmd/Ctrl + C girebilirsiniz.
Kaynakları temizleme
Bu öğreticide oluşturulan Azure kaynaklarını kullanmayacaksanız, bunları aşağıdaki komutla kaldırabilirsiniz.
az group delete --name my-demo-group
İpucu
Sorun mu yaşıyorsunuz? Azure Container Apps deposunda bir sorun açarak GitHub'da bize bildirin.
Sonraki adımlar
Azure Container Apps'teki hizmetlere bağlanmayı öğrenmek için devam edin.