Lazaro Fernandes Lima Suleiman

Lazaro Fernandes Lima Suleiman

head of technology at @Hondana

Torne o deploy de aplicações .NET mais fácil com Web Deploy

Estou escrevendo esse passo a passo pois não encontrei muito material sobre o assunto e o objetivo é abrir o tópico de deploy para futuramente postar sobre deploy contínuo e outros paranauês sobre o assunto.

Fazer o deploy de aplicações web .NET com segurança e simplicidade tornou-se bem mais fácil com o Web Deploy 3.5, neste post vou explicar os paranauês de configuração em um Windows Server 2012 R2 com IIS 8.

Optei por utilizar uma instância EC2 da Amazon, logo, seguem também algumas dicas referentes ao processo de configuração do Web Deploy 3.5 envolvendo instâncias na AWS ;)

Tipo de instância AWS

Existem algumas instância já pré-configuradas com IIS 7, Sql Server e etc, vamos fazer a coisa do zero, logo, escolha a instância Windows Server 2012 R2, veja abaixo.

Existe um período de gratuidade para as instâncias micro, logo, não se preocupe em testar a plataforma ;)

Portas de acesso

Ao configurar as portas de acesso considere que haverá:

É possível alterar as portas futuramente caso seja necessário, nem precisa parar a instância.
Também é possível escolher uma porta diferente para o Web Deploy durante a instalação do mesmo.

Após alguns minutos sua instância estará ativa e você poderá acessá-la via Remote Desktop.

Se você está um pouco inseguro até o momento ou mesmo curioso com a plataforma AWS veja este vídeo mostrando como criar uma instância windows no EC2 ;)

Instalando o IIS 8

Ao acessar a instância iremos então configurar o IIS 8

Selecione o feature-based installation.

Em Server Roles selecione os itens:

Em Role Services selecione todas as opções que você poderá utilizar em seu servidor web, eu selecionei quase todas as opções exceto os recursos de FTP e ASP clássico.

Após alguns poucos minutos a instalação será concluída e você terá um servidor IIS rodando, acesse o IP público do seu servidor web e confira a interface de apresentação do IIS 8.

Instalando o Web Deploy

Para instalar o Web Deploy 3.5 é necessário acessar o IIS e baixar o Web Platform Components.

Efetue uma busca por Web Deploy e selecione os itens Web Deploy 3.5 e Web Deploy 3.5 for Hosting Servers, conforme abaixo.

Caso o seu servidor necessite de outros recursos, como driver MySql, Url Rewrite e etc. você poderá instalar utilizando o Web
Platform Installer.
Recursos que eu adiciono comumente é o .NET Framework 4.5 , ASP.NET MVC 4, ASP.NET MVC 3 e MySQL Connector.

Associando um usuário sem permissão administrativa para efetuar o deploy

Durante o deploy iremos informar um usuário e senha para autorizar a transmissão do pacote e executar as mudanças no IIS. Se você, pequeno gafanhoto, pensou em passar a senha de Administrator para a galera, bem…

Crie um usuário sem permissão administrativa.

O próximo passo é fornecer permissão de gerenciamento no Web Site para este usuário chamado Deploy.

Agora é preciso configurar o Web Deploy para aceitar o usuário específicado.

Selecione o usuário Deploy e clique em Setup.
Uma configuração será realizada e exibida na área Results, em seguida a configuração do Web Deploy estará finalizada.

Apague todo o conteúdo da pasta do web site antes de efetuar a publicação pela primeira vez, isso evita problemas de permissão para excluir arquivos antigos.

#DevTip

Efetuando o deploy pelo Visual Studio

Agora é a hora da verdade, acesse o seu projeto pelo Visual Studio e:

As demais etapas são apenas pequenas configurações, podemos avançar clicando em Publish e analisando o resultado.

O resultado…

Após configurado, o deploy se torna bem mais simples e sem a necessidade de acesso ao servidor.

Espero que em próximos posts eu possa falar um pouco sobre como fazer um deploy contínuo usando commits no repositório Git do seu projeto, elevando o nível da zuera para outro patamar!

Qualquer dúvida é só comentar…
[]s

Comments