Exercício – modificar a imagem e reimplementar a aplicação Web

Concluído

Nesta unidade, irá configurar a implementação contínua para a aplicação Web e criar um webhook que se liga ao registo que contém a imagem do Docker. Em seguida, irá fazer uma alteração ao código fonte da aplicação Web e recompilar a imagem. Você visitará o site que hospeda o aplicativo Web de exemplo novamente e verificará se a versão mais recente está em execução.

Nota

Este exercício não cria uma tarefa do Azure Container Registry. Em vez disso, vai recompilar manualmente a imagem do Docker para a aplicação de exemplo. O webhook será aberto quando a nova imagem do Docker for criada.

Configurar a implementação contínua e criar um webhook

  1. Retorne ao portal do Azure e selecione seu aplicativo Web. O painel Serviço de aplicativo é exibido para seu aplicativo Web.

  2. No painel de menu esquerdo, em Implantação, selecione Centro de Implantação. O painel Centro de Implantação é exibido para o serviço de aplicativo (aplicativo Web).

  3. Na guia Configurações, em Configurações do Registro, defina Implantação Contínua como Ativado e selecione Salvar na barra de menus superior. Esta definição configura um webhook que o Container Registry utiliza para alertar a aplicação Web de que a imagem do Docker foi alterada.

    Captura de tela que mostra as configurações de contêiner para o aplicativo Web com a implantação contínua habilitada.

Atualizar a aplicação Web e testar o webhook

  1. No Azure Cloud Shell, vá para a pasta dotnet/SampleWeb/Pages. Esta pasta contém o código-fonte para as páginas HTML que são exibidas pelo aplicativo Web.

    cd ~/mslearn-deploy-run-container-app-service/dotnet/SampleWeb/Pages
    
  2. Execute os seguintes comandos para substituir a página padrão na aplicação Web (Index.cshtml) por uma nova versão que tem um item adicional no controlo de carrossel. Esses comandos simulam o desenvolvimento contínuo no aplicativo e adicionam uma nova página ao carrossel.

    mv Index.cshtml Index.cshtml.old
    mv Index.cshtml.new Index.cshtml
    
  3. Execute o próximo conjunto de comandos para reconstruir a imagem para o aplicativo Web e envie-a por push para o Registro de Contêiner. Substitua <container_registry_name> pelo nome do seu registo. Não se esqueça de . no final do segundo comando. Aguarde a conclusão da compilação.

    cd ~/mslearn-deploy-run-container-app-service/dotnet
    az acr build --registry <container_registry_name> --image webimage .
    
  4. Retorne à home page do portal do Azure. Selecione seu registro de contêiner na área Recursos recentes. O painel Registro do contêiner é exibido.

  5. No painel de menu esquerdo, em Serviços, selecione Webhooks. O painel Webhooks aparece para o registro do contêiner.

  6. Selecione o único webhook na lista. Seu webhook de registro de contêiner é exibido.

  7. Observe o registro do webhook que acabou de disparar em resposta à compilação e empurrar você correu.

    Captura de tela do webhook mostrando o evento push.

Testar a aplicação Web novamente

  1. Regresse à sua aplicação Web no browser. Se você fechou a guia anteriormente, pode ir para a página Visão geral do aplicativo no portal do Azure e selecionar Procurar. Ocorrerá um atraso de arranque a frio enquanto a aplicação Web carrega a nova imagem do Container Registry.

  2. Reveja os itens no controlo de carrossel. Tenha em atenção que o controlo inclui agora quatro páginas. A nova página se parece com a seguinte imagem:

    Captura de ecrã da aplicação Web de exemplo.

A aplicação Web foi automaticamente atualizada e reimplementada com base na nova imagem. O serviço webhook no seu registo notificou a aplicação Web de que a imagem de contentor tinha sido modificada, acionando uma atualização.

  1. No Azure Cloud Shell, vá para a pasta node/routes. O aplicativo Web exibe páginas geradas pelo código-fonte nesta pasta.

    cd ~/mslearn-deploy-run-container-app-service/node/routes
    
  2. Abra index.js no editor do Cloud Shell.

    code index.js
    
  3. No editor, modifique o código para alterar o title valor da propriedade passada para a exibição de Express para Microsoft Learn.

    ...
    res.render('index', { title: 'Microsoft Learn' });
    ...
    

    Certifique-se de salvar o arquivo quando terminar.

  4. No Cloud Shell, execute o próximo conjunto de comandos para reconstruir a imagem do aplicativo Web e envie-a por push para o Container Registry. Substitua <container_registry_name> pelo nome do seu registo. Não se esqueça de . no final do segundo comando. Aguarde a conclusão da compilação.

    cd ~/mslearn-deploy-run-container-app-service/node
    az acr build --registry <container_registry_name> --image webimage .
    
  5. No painel de menu esquerdo, em Serviços, selecione Webhooks. No painel Webhooks do seu registro de contêiner e selecione o único webhook na lista.

  6. Observe que há um registro do webhook que disparou em resposta à compilação e push que você correu.

    Captura de tela do webhook mostrando o evento push.

Testar a aplicação Web novamente

  1. Regresse à sua aplicação Web no browser. Se você fechou a guia anteriormente, pode ir para a página Visão geral do seu aplicativo Web no portal do Azure e, na barra de menu superior, selecione Procurar. Ocorrerá um atraso de arranque a frio enquanto a aplicação Web carrega a nova imagem do Container Registry.

  2. Tenha em atenção que os conteúdos da página foram alterados de modo a refletir as atualizações feitas à imagem de contentor.

    Captura de ecrã da aplicação Web de exemplo.

A aplicação Web foi automaticamente atualizada e reimplementada com base na nova imagem. O serviço webhook no seu registo notificou a aplicação Web de que a imagem de contentor tinha sido modificada, acionando uma atualização.