Windows Azure: Como Atualizar um Projeto por Web Deploy Usando Visual Studio (pt-BR)

Windows Azure: Como Atualizar um Projeto por Web Deploy Usando Visual Studio (pt-BR)

Este artigo é um tutorial passo-a-passo do processo para atualização rápida de um projeto Web no Windows Azure durante o seu desenvolvimento. Após concluir o tutorial, você terá uma instância no Windows Azure rapidamente atualizada com a última versão de seu projeto.

A atualização por Web Deploy é uma alternativa à atualização completa da implantação. O seu diferencial é levar apenas poucos segundos, em contraste com vários minutos do processo completo. A razão disto é que as mudanças são feitas diretamente na instância, sem criar e atualizar o pacote de implantação. O Web Deploy é rápido porque deixa de executar várias etapas do ciclo normal de atualização; isto, porém, acarreta em diversas limitações ao seu uso.



Pré-requisitos


Para executar este tutorial, você deverá ter:

Restrições


O método Web Deploy atualiza diretamente uma instância não-persistente de um Web Role. Por este motivo, apresenta as seguintes restrições:
  • Somente atualiza Web Roles.
  • Apenas uma instância por web role é suportada. Você não poderá ter várias instâncias em um web role, mas a aplicação poderá ter vários web roles, cada um com uma única instância.
  • As conexões de Remote Desktop devem estar habilitadas.
  • As mudanças feitas no Web Role são temporárias. Quando a instância for reiniciada, ela reverterá à versão original. Isto pode ocorrer a qualquer momento, caso o Fabric Controller necessite recriar a instância.
  • As tarefas de inicialização não serão executadas novamente após uma atualização por Web Deploy.
  • Só pode ser utilizado para desenvolvimento e testes. Não atende aplicações em produção.
  • Alguns tipos de mudança não são possíveis via Web Deploy, como adicionar novas funções (Roles), modificar tarefas de inicialização, alterar RoleEntryPoint ou mudar definições de serviço.

Processo


1. Utilize o assistente de publicação de aplicação Azure para publicar uma aplicação Web com uma única instância de Web Role em ambiente de preparo. Certifique-se de ativar a caixa de verificação "Enable Web Deploy for all web roles".

Nota: Em caso de dúvida sobre como publicar uma aplicação no Windows Azure utilizando o assistente, consulte o tutorial Windows Azure: Como Criar e Publicar um Projeto Usando Visual Studio (pt-BR).



2. Abra a aba "Windows Azure Activity Log" no Visual Studio e clique na URL atribuída à aplicação.



3. Certifique-se de que a aplicação está funcionando normalmente.



4. Faça uma alteração qualquer em um dos arquivos da aplicação.



5. Clique com o botão direito sobre o projeto Web (não o projeto Azure) e acione o comando "Publish" (não "Publish to Windows Azure").



6. O Visual Studio irá exibir o diálogo "Publish Web". Digite o nome de usuário e a senha que você criou ao configurar o Remote Desktop no assistente de publicação e acione o botão "Publish".



7. Aguarde alguns segundos até que o Visual Studio exiba a mensagem "Publish succeeded".



8. Verifique que a aplicação está atualizada.



9. No painel de gerenciamento do Windows Azure, localize a instância da aplicação, clique sobre ela e acione o botão "Reinicializar". Confirme a reinicialização da instância no diálogo que será apresentado.



10. Aguarde alguns minutos até que a instância volte ao estado "Pronto". Em seguida atualize o website no navegador web e verifique que a aplicação reverteu para a versão da última publicação, descartando as atualizações feitas por Web Deploy.



Possíveis problemas


Problema: Web deployment task failed. Could not complete the request to remote agent URL.

Causa: Falha na comunicação de rede ou bloqueio por firewall.

Solução: Verifique se a comunicação de rede está funcionando e se a porta TCP de saída 8172 está liberada em todos os firewalls envolvidos.

Revisão

Neste tutorial você aprendeu:
  • como atualizar uma instância de um projeto Web no Windows Azure pelo método Web Deploy;
  • que este método de atualização é muito veloz e favorece o ciclo de desenvolvimento, eliminando pausas de vários minutos a cada atualização;
  • que o Web Deploy possui várias limitações e não é indicado para ambientes de produção, ou para ambientes de preparo que serão promovidos à produção. 

Referências

Autor

Fernando Correia
Blog: Pensando Azure
Twitter: @facorreia

Leave a Comment
  • Please add 4 and 6 and type the answer here:
  • Post
Wiki - Revision Comment List(Revision Comment)
Sort by: Published Date | Most Recent | Most Useful
Comments
  • Richard Mueller edited Revision 2. Comment: Remove tag "MS"

  • Nevin Janzen edited Revision 1. Comment: Tags Edit

  • Fernando Correia edited Original. Comment: revisão e ajustes

Page 1 of 1 (3 items)
Wikis - Comment List
Sort by: Published Date | Most Recent | Most Useful
Posting comments is temporarily disabled until 10:00am PST on Saturday, December 14th. Thank you for your patience.
Comments
  • Fernando Correia edited Original. Comment: revisão e ajustes

  • Nevin Janzen edited Revision 1. Comment: Tags Edit

  • Richard Mueller edited Revision 2. Comment: Remove tag "MS"

Page 1 of 1 (3 items)