Exercício: Criar slots de implantação

Concluído

Um slot de implantação é uma instância de um aplicativo Web no qual você pode testar uma nova versão do aplicativo antes de implantá-lo. Ao alternar os slots, você pode implantar uma nova versão de um aplicativo sem qualquer tempo de inatividade.

Vamos supor que você tenha decidido usar os slots de implantação do Serviço de Aplicativo do Azure para simplificar a implantação de novas versões do seu aplicativo Web de mídia social. Você quer configurar o aplicativo Web no Azure e definir um ou mais slots de implantação.

Neste exercício, você vai configurar um aplicativo Web, adicionar um novo slot de implantação para preparo e implantar versões diferentes do aplicativo Web nos slots de produção e de preparo.

Importante

É preciso ter uma assinatura do Azure para fazer esse exercício, e isso pode gerar encargos. Caso ainda não tenha uma assinatura do Azure, crie uma conta gratuita antes de começar.

Como criar um aplicativo Web

Comece criando um recurso de aplicativo Web no portal do Azure.

  1. Entre no portal do Azure.

  2. No menu de recursos ou na Home page, selecione Criar um recurso. O painel Criar um recurso será exibido.

  3. No menu de recursos, selecione Web e, nos resultados, selecione Aplicativo Web. O painel Criar Aplicativo Web é exibido.

  4. Na guia Básico, insira os valores a seguir para cada configuração.

    Configuração Valor
    Detalhes do projeto
    Subscription Selecione a assinatura que deseja usar para concluir o exercício
    Grupo de recursos Selecione o link Criar, insira mslearn-slots e selecione OK.
    Detalhes da Instância
    Nome Insira um nome exclusivo.
    Publicação Código
    Pilha de runtime ASP.NET V4.8
    Sistema operacional Windows
    Região Selecione uma região perto de você.
    Plano do Serviço de Aplicativo
    Plano do Windows Aceite o padrão.
    SKU e tamanho Aceite o padrão.
  5. Selecione Próximo: implantação.

  6. Selecione Avançar: Rede.

  7. Selecione Avançar: Monitoramento e insira o valor a seguir para a configuração.

    Configuração Valor
    Application Insights
    Habilitar o Application Insights Selecione a opção Não
  8. Selecione Examinar + Criar e, em seguida, selecione Criar. Aguarde até que a implantação seja bem-sucedida.

  9. Quando a implantação for concluída, selecione Ir para o recurso. O painel Serviço de Aplicativo do seu aplicativo Web será exibido.

Configurar a implantação do git

Embora seja possível usar várias ferramentas diferentes para implantar o código no aplicativo Web, neste exercício, você vai configurar o aplicativo Web para usar um repositório Git local.

  1. No menu Serviço de Aplicativo, em Implantação, selecione Centro de Implantação. O painel Centro de Implantação do serviço de aplicativo é exibido.

  2. Na guia Configurações, em Origem, selecione Git Local e depois selecione Salvar na barra de comandos para configurar a implantação.

  3. Selecione a guia Credenciais do Git Local/FTPS. Em Escopo do usuário, insira um nome de usuário e uma senha exclusivos da escolha e, na barra de comandos, selecione Salvar. Anote o nome de usuário e a senha para usar mais adiante.

Configurar o cliente do git e clonar (clone) o código-fonte do aplicativo Web

Agora você vai configurar o cliente do git no Cloud Shell e o usará para clonar um aplicativo Web de exemplo.

  1. Nos controles globais do Azure, na parte superior da página, selecione o ícone do Cloud Shell para iniciar uma sessão do Azure Cloud Shell.

    Screenshot of the Cloud Shell icon in global controls.

  2. Na sessão do Cloud Shell, quando solicitado, selecione a experiência Bash e crie o armazenamento para sua assinatura.

    Observação

    O Cloud Shell exige um recurso de Armazenamento do Azure para manter todos os arquivos que você criar no Cloud Shell. Ao abrir o Cloud Shell pela primeira vez, você precisará criar um grupo de recursos, uma conta de armazenamento e um compartilhamento de Arquivos do Azure. Essa configuração é usada automaticamente para todas as sessões futuras do Cloud Shell.

  3. Insira o comando a seguir no Cloud Shell, substituindo <your-username> pelo nome de usuário preferencial. Esse valor de configuração não está associado a nenhuma conta do Azure, portanto, você pode usar qualquer valor desejado.

    git config --global user.name <your-username>
    
  4. Insira o comando a seguir no Cloud Shell, substituindo <your-email-address> pelo nome de endereço de email preferencial. Esse valor de configuração não está associado a nenhuma conta do Azure, portanto, você pode usar qualquer valor desejado.

    git config --global user.email <your-email-address>
    
  5. Insira o código a seguir para criar e abrir uma pasta demoapp do código-fonte.

    mkdir demoapp
    cd demoapp
    
  6. Insira o código a seguir para clonar o código-fonte do aplicativo Web e abrir uma cópia local.

    git clone https://github.com/Azure-Samples/app-service-web-dotnet-get-started.git
    cd app-service-web-dotnet-get-started
    

Configurar um git remoto para implantar o aplicativo em produção

Vamos usar o Git para implantar o código-fonte no slot de produção do aplicativo Web e configurar a URL do Git do aplicativo como um repositório remoto.

  1. No portal do Azure, seu aplicativo Web deve estar ativo. No menu de recursos, selecione Visão geral.

  2. No painel Visão geral do aplicativo Web, a seção Informações gerais contém uma URL no Domínio padrão. Observe que a URL contém o nome da implantação para o aplicativo Web.

    Screenshot of the Essentials section, where you Copy the git clone URL.

    Observação

    Se a URL de clone do Git não aparecer onde foi mostrada na captura de tela anterior, atualize o portal.

  3. Focalize a URL de git clone e selecione o ícone Copiar para área de transferência. Observe que esse valor também contém o seu nome de usuário de implantação.

  4. No Cloud Shell, execute o seguinte comando para configurar o git remoto com um nome de "production". Substitua <git-clone-url> pelo conteúdo copiado para a área de transferência da etapa anterior.

    cd app-service-web-dotnet-get-started
    git remote add production <git-clone-url>
    
  5. Execute o comando a seguir para implantar o aplicativo Web no slot de produção. Quando for solicitado que você insira a senha, insira a senha de implantação criada na tarefa anterior.

    git push production
    

    A sessão do terminal identifica todos os processos que ocorrem durante a implantação. Aguarde até que a implantação seja concluída. Deverá aparecer uma notificação Implantação bem-sucedida.

  6. No portal do Azure, o painel Visão geral ainda deve estar ativo. Focalize a URL. Você pode clicar duas vezes nele para abri-la em uma nova guia do navegador ou copiar e colá-la em uma nova guia do navegador.

    Screenshot of your web app in the production slot.

  7. Feche a guia do navegador que exibe o aplicativo Web.

Criar um novo slot de preparo

Para o aplicativo Web, você criou um slot, o slot de produção, e implantou o código-fonte nesse slot. Vamos criar um slot de implantação no qual você poderá criar outras versões do aplicativo Web.

  1. No menu do portal do Azure, selecione Home page e, em Serviços do Azure, selecione Todos os recursos. Filtre por Tipo == Serviço de Aplicativo e selecione Aplicar.

  2. Classifique o resultado por Tipo e selecione o Serviço de Aplicativo que você criou. O painel Serviço de Aplicativo do seu aplicativo Web será exibido.

  3. No menu Serviço de Aplicativo, em Implantação, selecione Slots de implantação. O painel Slots de implantação do Serviço de Aplicativo é exibido.

    Screenshot of the App Service menu with Deployment slots highlighted.

  4. Na barra de comandos, selecione + Adicionar Slot. O painel Adicionar um slot é exibido.

  5. No campo Nome, insira Preparo, aceite o padrão para Clonar configurações de e selecione Adicionar.

  6. Depois que o slot de implantação for criado com êxito, selecione Fechar.

Configurar a implantação do git no slot de preparo

Vamos configurar o novo slot para usar a implantação do Git.

  1. No portal do Azure, selecione Home page e, em Serviços do Azure, selecione Todos os recursos.

  2. Classifique os recursos por Grupo de recursos. para o grupo de recursos mslearn-slots, você verá dois tipos de Serviço de Aplicativo. Os slots de implantação são representados como aplicativos separados no portal.

  3. Selecione o slot de preparo. O painel Visão geral do Serviço de Aplicativo (Slot) é exibido.

  4. No menu Preparo, em Implantação, selecione Centro de Implantação.

  5. Na guia Configurações, de Origem, selecione Git Local e depois clique em Salvar na barra de comandos para configurar a implantação de preparo.

  6. No painel Centro de Implantação resultante, selecione a guia Credenciais do Git Local/FTPS.

  7. Em Escopo do usuário, insira um nome de usuário e uma senha da sua escolha e selecione Salvar. O Azure atualiza as credenciais do usuário. Anote o nome de usuário e a senha para usar mais adiante.

Configurar o git para implantar o aplicativo no slot de preparo

A fim de usar o cliente Git para implantar o código-fonte no novo slot, vamos adicionar um repositório remoto extra à configuração do Git.

  1. No menu do Serviço de Aplicativo, selecione Visão geral. Se for solicitado que você salve a senha do nome de usuário criado na tarefa anterior, selecione Salvar.

  2. No painel Visão geral, na seção Informações gerais, focalize o valor da URL de clone do Git e selecione o ícone Copiar para área de transferência. Observe que a URL contém seu nome de usuário da implantação de preparo.

    Observação

    Se a URL de clone do Git não aparecer, atualize o portal. Observe que a URL de clone do Git de preparo é um pouco diferente da URL do slot de produção e inclui o nome do slot.

  3. No Cloud Shell, verifique se você está na pasta ~/demoapp/app-service-web-dotnet-get-started e execute o comando a seguir, substituindo <git-clone-uri> pela URL copiada na etapa anterior.

    git remote add staging <git-clone-uri>
    

Modificar o código-fonte do aplicativo e implantar o aplicativo no slot de preparo

Depois, vamos fazer uma pequena alteração nos arquivos do aplicativo Web e usar o Git para implantar a nova versão no slot de preparo:

  1. No Cloud Shell, execute o comando a seguir.

    code .
    
  2. Na lista de ARQUIVOS, expanda as pastas aspnet-get-started>Exibições>Página inicial e selecione Index.cshtml.

  3. Localize o HTML a seguir.

    <h1>ASP.NET</h1>
    
  4. Substitua esse código por este HTML.

    <h1>Web App Version 2</h1>
    
  5. Pressione Ctrl+S para salvar as alterações e pressione Ctrl+Q para fechar o editor.

  6. No Cloud Shell, execute o código a seguir para fazer commit da nova versão do aplicativo no Git e implantá-la no slot de preparo.

    git add .
    git commit -m "New version of web app."
    git push staging
    

    Quando solicitado, insira a sua senha de implantação. As notificações das operações para criar e implantar o preparo são exibidas na sessão Cloud Shell e devem indicar Implantação bem-sucedida.

Procurar o slot de preparo

Agora, veja a nova versão do aplicativo Web navegando até a URL do slot de implantação de preparo.

  1. Na caixa do portal do Azure, no painel Visão geral do slot de preparo, selecione Procurar na barra de comandos ou selecione a URL no Domínio padrão. A home page do Aplicativo Web Versão 2 de preparo é exibida em uma guia do navegador.

    Screenshot of the updated web app in the staging slot.

Parabéns, você criou um slot de preparo que a própria versão do código do aplicativo Web e já pode executar testes nele. Lembre-se de que o slot de produção está com a versão anterior do aplicativo Web e os usuários ainda não podem ver seu novo código.