Bagikan melalui


Tutorial: Memperbarui aplikasi kontainer yang disebarkan dari kode sumber

Artikel ini menunjukkan cara memperbarui aplikasi kontainer yang Anda buat di artikel sebelumnya, Membangun dan menyebarkan kode sumber Anda ke Azure Container Apps.

Jika Anda belum menyelesaikan langkah-langkah di artikel sebelumnya, hentikan di sini dan kembali ke artikel ini setelah semua langkah selesai.

Di tutorial ini, Anda akan:

  • Buat perubahan kode ke aplikasi Anda.
  • Dorong perubahan Anda ke registri kontainer dengan tag baru.
  • Menampilkan aplikasi yang diperbarui di browser.
  • Kueri aliran log untuk menampilkan pesan yang dicatat.

Prasyarat

Untuk menyelesaikan proyek ini, Anda memerlukan alat, sumber daya, dan aplikasi kontainer yang dibuat dalam tutorial sebelumnya, Membangun dan menyebarkan dari kode sumber ke Azure Container Apps.

Siapkan

  1. Jika perlu, masuk ke Azure dari CLI.

    az login
    
  2. Membuat variabel lingkungan. Jika variabel lingkungan Anda dari tutorial terakhir masih ada di terminal Anda, Anda dapat melewati langkah ini.

    Jika Anda perlu membuat ulang variabel lingkungan, Anda harus terlebih dahulu mengkueri nama registri kontainer yang Anda buat di artikel terakhir.

    Jalankan perintah berikut untuk mengkueri registri kontainer yang Anda buat di tutorial terakhir.

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

    Setelah Anda memiliki nama registri kontainer, ganti <REGISTRY_NAME> dengan nama registri Anda dan jalankan perintah berikut.

    RESOURCE_GROUP="my-demo-group"
    CONTAINER_APP_NAME="my-demo-app"
    REGISTRY_NAME="<REGISTRY_NAME>"
    
  3. Perbarui dan jalankan kode sumber Anda.

    Ganti isi Startup.cs dengan kode berikut.

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

    Versi kode ini mendaftarkan pencatat untuk menulis informasi ke konsol dan aliran log Container Apps.

    Buat proyek Anda dalam konfigurasi Rilis.

    dotnet build -c Release
    

    Selanjutnya, jalankan aplikasi Anda untuk memverifikasi bahwa kode Anda diimplementasikan dengan benar.

    dotnet run --configuration Release
    

Membangun dan mendorong gambar ke registri

Setelah kode diperbarui, Anda dapat mendorong versi terbaru sebagai gambar baru ke registri kontainer Anda.

Untuk memastikan tag yang digunakan untuk registri Anda unik, gunakan perintah berikut untuk membuat nama tag.

IMAGE_TAG=$(date +%s)

Sekarang Anda dapat membangun dan mendorong gambar kontainer baru Anda ke registri menggunakan perintah berikut.

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

Membuat revisi baru

Anda dapat membuat revisi baru aplikasi kontainer berdasarkan gambar kontainer baru yang Anda dorong ke registri Anda.

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

revision copy Perintah membuat revisi baru aplikasi kontainer Anda dengan gambar kontainer yang ditentukan dari registri.

Verifikasi penyebaran

Sekarang setelah aplikasi Anda disebarkan, Anda dapat mengkueri URL dengan perintah ini.

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

Di browser web, buka URL aplikasi. Setelah aplikasi kontainer dimulai, aplikasi tersebut menghasilkan Hello Logger!.

Aliran log kueri

Anda baru saja melihat output yang dikirim ke browser, jadi sekarang Anda dapat menggunakan perintah berikut untuk melihat pesan yang dicatat di aliran log.

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

Kueri mengembalikan respons yang mirip dengan contoh berikut:

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

Perhatikan bagaimana Anda dapat melihat pesan Hello Logger! di aliran.

Untuk berhenti mengikuti aliran, Anda dapat memasukkan Cmd/Ctrl + C untuk mengakhiri pesan.

Membersihkan sumber daya

Jika Anda tidak akan menggunakan sumber daya Azure yang dibuat dalam tutorial ini, Anda dapat menghapusnya dengan perintah berikut.

az group delete --name my-demo-group

Tip

Mengalami masalah? Beri tahu kami di GitHub dengan membuka masalah di repositori Azure Container Apps.

Langkah berikutnya

Lanjutkan untuk mempelajari cara menyambungkan ke layanan di Azure Container Apps.