Não é mais recomendado usar o protocolo FTP para transferência de arquivos por conta de suas vulnerabilidades, tão pouco para publicar aplicações que carregam consigo códígos e senhas altamente sensíveis. Então, a plataforma do Visual Studio e o IIS fornecem um meio muito mais rápido e seguro de subir publicações para aos ambientes de testes e produção chamado Web Deploy, neste artigo vou mostrar como configurar e publicar a um site a partir do Visual Studio 2017.
Web Platform Installer
Para facilitar a Instaleinstalação de ferramentas no IIS é preciso instalar a Web Platform Installer, para isso acesse o site https://www.microsoft.com/web/downloads/platform.aspx.
Clique em Install this extension e faça download do pacote para IIS.
Excute o instalador, e clique em I accept the terms in the License Agreement e em seguida em Install. Se o instalador pedir para executar como administrador, clique em Sim.
Aguarde o término da instalação e clique em Finish.
Agora no IIS, em gerenciamento, teremos a opção do Web Platform Installer.
Instale Web Deploy 3.6
Abra o IIS, e clique duas vezes em Web Platform Installer e pesquise por Web Deploy 3.6. Clique em Adicionar e então em Instalar.
Em Pré-Requisitos, clique em Aceito.
Aguarde o download e instalação.
Ao terminar a instalação, clique em Concluir.
Obs.: Talvez seja preciso verificar algumas coisas antes de publicar uma aplicação, segue uma lista de procedimentos que talvez sejam necessários:
- Reiniciar os serviços do IIS,
- Reiniciar o Site,
- Reiniciar o Serviço de Gerenciamento da Web (wmsvc),
- Desativar o Firewall ou liberar a porta 8172,
- Fechar e abrir novamente a aba de Profile de publicação no Visual Studio.
Adicione o host deploy.sitelocal.com
Para facilitar o trabalho de depuração com a aplicação e simular um acesso direto pela internet, configure o host e adicione o site no IIS com a URL deploy.sitelocal.com seguindo este artigo.
Crie uma aplicação ASP.NET MVC
No Visual Studio, crie uma solução chamada DeploySite, e adicione um projeto do tipo ASP.NET Web Application chamado Deploy.Site. O nível de detalhes e complexidade não importa, pois só será preciso para publicação, eu criei um aplicação MVC e deixei pronta no GitHub, caso não queira nem se dar ao trabalho e só fazer um clone.
https://github.com/tiagopariz/DeploySite
Crie o perfil de publicação
Após criar e carregar a aplicação, vamos usar nosso servidor de deploy para subir nosso site. Para isso, clique com o botão direito sobre o projeto e clique com o esquerdo em Publish.
Em Pick a publish target, clique em IIS, FTP, etc e em seguida em Create Profile.
Preencha os campos de conexão, com os dados:
- Server: O endereço do servidor de deploy, que pode não ser o mesmo do host, pois um servidor com IIS pode ter vários hosts, no nosso caso, é http://localhost.
- Site name: o nome do site configurado no IIS, no caso deploy.sitelocal.com.
- Destination URL: o endereço da Internet da aplicação que está sendo publicada, no nosso caso http://deploy.sitelocal.com, este endereço será aberto ao final da publicação.
Clique em Validate Connection para testar a configuração e se estiver tudo ok, clique em Next >.
Em Settings, selecione Release em Configuration e clique em Save.
Ao abrir a aba de publicação, clique em Rename Profile.
Digite o novo nome como DeployReleaseProfile e clique em Save.
Clique em Publish e visualize na janela Output os resultados.
Após a publicação, o site será aberto no navegador.
Dica: instale apenas o Web Deploy
É possível instalar no windows apenas o Web Deploy sem o Web Platform Installer, então para isso, entre no site https://www.iis.net/downloads/microsoft/web-deploy e faça o download do Web Deploy Installer.