Este é o vigésimo quinto de uma série de posts que estou escrevendo sobre o próximo lançamento do VS 2010 e .NET 4.
O
post de hoje é o primeiro de vários posts que vou escrever que cobrem
algumas das melhorias que fizemos em torno da função de web deployment
(distruibuição/instalação) de projetos web. Vou dar uma visão de alto
nível de algumas das principais melhorias. Posts subseqüentes entrarão
em mais detalhes sobre cada recurso e como melhor aproveitá-los.
Facilitando a Distribuição/Instalação de Projetos Web
Instalar
sua aplicação web em um servidor é algo que todos os projetos (de
sucesso) precisam fazer. Sem boas ferramentas para ajudá-lo, a
implantação pode ser uma tarefa complicada - especialmente se você tiver
que fazer isso manualmente.
O VS 2010 inclui um conjunto de
melhorias que tornam muito mais fácil instalar suas aplicações Web
ASP.NET - e que permitem a construção de procedimentos de instalação
automatizados que fazem com que a implantação seja facilmente
reprodutível. Os recursos de implantação suportam não apenas a
distribuição de seu conteúdo Web - mas também suportam a customização de
suas configurações contidas no arquivo web.config,
distribuição/atualização de seus bancos de dados e o gerenciamento de
outras dependências que você tenha. Você pode iniciar o processo de
instalação manualmente - ou através de scripts automatizados ou como
parte de um build automatizado ou processo de integração contínua.
A
seguir está uma visão geral de alto nível de alguns dos principais
recursos do novo processo de distribuição/instalação de aplicações web no VS 2010. Eu escreverei posts subseqüentes que fornecerão mais detalhes sobre
como usar/personalizar cada um deles.
Nova Janela de Diálogo "Publish Web"
O
Visual Studio 2010 inclui uma nova janela de diálogo "Publicar Web" que
você pode usar para rapidamente instalar uma aplicação Web em um
servidor remoto.
Você pode ativar a janela de diálogo clicando
com o botão direito do mouse em um nó de um Projeto Web ASP.NET no
Solution Explorer e, em seguida selecionando o item do menu de contexto
"Publish" (Publicar):
Selecionando
esta opção fará aparecer uma janela de diálogo "Publish Web" que te
permite customizar as configurações de instalação local.
Configurando e Salvando um Perfil de Publicação
Você
só precisa definir as configurações de publicação uma vez - você então
pode salvá-las como um "Publish Profile" (Perfil de Publicação) nomeado
para que você possa rapidamente reusá-las mais tarde.
Acima
eu criei um perfil chamado "ScottGu Site", e configurei o mesmo para
instalar a aplicação via FTPS (uma versão do FTP que usa SSL) em um
servidor remoto. Para instalar usando FTPS, selecione a opção "FTP" na
lista drop-down e, em seguida, prefixe a localização do servidor no qual
você deseja instalar com o prefixo "ftps://".
Observe que você
pode re-digitar sua senha cada vez que você for instalar - ou você pode
salvar a senha em um local seguro para usos futuros (basta clicar na
caixa de seleção "Save password" (Salvar senha) para fazer isso.
Web Deploy
Além
de dar suporte aos protocolos FTP/FTPS, o VS 2010 suporta também um mecanismo
mais poderoso de publicação chamado "Web Deploy". O Web Deploy
(anteriormente conhecido como MSDeploy) fornece um mecanismo de
publicação e instalação muito mais abrangente do que FTP. Ele não só lhe
permite publicar arquivos, mas também permite que você publique
configurações do Servidor Web IIS, esquemas de Bancos de Dados, Scripts
de Alteração de Banco de Dados, ACLs de Segurança, e muito mais.
O Web
Deploy pode ser usado para instalar aplicações tanto em único
servidor, bem como em vários servidores dentro de uma web farm (fazenda web). O Web Deploy agora também é
suportado por muitos provedores de hospedagem Windows baratos (alguns
tão baratos quanto $3.50/month ou R$5,81/mês [dolar a R$ 1,66] para
uma conta ASP.NET + SQL). Você pode encontrar ótimos serviços de
hospedagem ASP.NET que suportam o Web Deploy visitando esta página: http://asp.net/find-a-hoster (em Inglês).
Barra de Ferrramentas de Publicação One Click
Clicando
no botão "Publish" dentro da janela de diálogo "Publish Web" publicará
uma aplicação web (e opcionalmente o esquema/conteúdo do banco de dados
associado) em um servidor web remoto.
O VS 2010 também suporta
uma barra de ferramentas de publicação "one click" (um clique) que você
pode adicionar ao seu IDE para publicar/re-publicar seu projeto
rapidamente sem ter que carregar a janela de diálogo "Publish Web":
Basta
selecionar o perfil de publicação a partir da lista drop-down na barra
de ferramentas e clicar no ícone de publicação à direita desta para
começar a publicar/instalar sua aplicação.
Transformações Web.Config
Na
maioria dos cenários de implantação/instalação do mundo real, o arquivo web.config
que você usa para o ambiente de desenvolvimento é diferente daquele que
você usa para a instalação da aplicação no ambiente produção. Normalmente você deseja alterar as configurações de ambiente, como
strings de conexão de bancos de dados, tendo certeza que a opção de
debug esteja desligada, e habilitando erros customizados para que os
usuários finais (e hackers) não vejam os aspectos internos de sua
aplicação.
O VS 2010, agora torna fácil
personalizar/ajustar/alterar seus arquivos web.config como parte de seu
processo de publicação/instalação. Especificamente, agora você pode
facilmente ter arquivos de transformação específicos para configuração
de build (contrução) que podem personalizar seu arquivo web.config,
antes que a aplicação seja instalada:
Você
pode manter um arquivo de transformação separado para cada ambiente de
construção/compilação do Visual Studio. Por exemplo, você pode configurar seu
projeto/solução para que esta tenha uma configuração de
construção/compilação "Debug" (para o desenvolvimento), "Staging" (para
testes internos) e "Release" (para distribuição) - caso em que o VS irá
manter três arquivos de transformação separados para você. O VS irá
automaticamente aplicar o arquivo de transformação adequado no tempo de
publicação/instalação, dependendo do ambiente de construção/compilação
setado dentro do VS.
Eu vou detalhar mais a fundo como executar transformações nos arquivos web.config em um futuro post.
Instalação do Banco de Dados
O VS 2010 permite que você opcionalmente instale o banco de dados, juntamente com os arquivos de sua aplicação web, quando você estiver usando a opção "Web Deploy" como seu mecanismo de instalação. Bancos de
dados implantados/instalados desta forma podem incluir ambos esquema e
dados, e pode, opcionalmente também incluir scripts de alteração para
atualizar bancos de dados existentes.
ASP.NET Web Projects
(Projetos Web ASP.NET) no VS 2010 possuem uma página especial dentro das
configurações do projeto que permite configurar a instalação do banco
de dados:
Eu vou detalhar mais a fundo como realizar instalações de banco de dados em posts futuros.
Instalação de Pacotes Web
O
VS 2010 suporta também uma opção de empacotamento que te permite
empacotar sua aplicação Web ASP.NET (junto com suas dependências, como
web.config, bancos de dados, ACLs, etc) em um arquivo de pacote de
instalação .zip que você pode, opcionalmente, passar para um
administrador de TI que pode facilmente instalá-lo, quer através da
ferramenta de administração do IIS ou através de um script de linha de
comando/powershell.
O pacote de instalação que você cria pode
opcionalmente expor as propriedades de configuração da aplicação que
podem ser substituídas (como locais de diretório, strings de conexão de
bancos de dados, etc.) Ao usar a ferramenta de administração do IIS7, o
assistente de instalação pode solicitar ao administrador a customização
de cada propriedade - permitindo-lhe fornecer uma experiência de
customização limpa sem ter que escrever qualquer código personalizado
para que isto aconteça. As propriedades também podem obviamente ser
passadas como argumentos/parâmetros na linha de comando quando se
utiliza um script de linha de comando ou um script Powershell para
instalar a aplicação.
Para criar um pacote Web dentro do Visual
Studio 2010, basta clicar com o botão direito do mouse sobre o nó do
Projeto Web ASP.NET no Solution Explorer e selecionar a opção do menu de
contexto "Build Deployment Package" (Criar Pacote de Instalação):
Isso
irá compilar a aplicação, executar as transformações adequadas no
arquivo web.config, opcionalmente, criará os scripts .sql para o esquema
de seu banco de dados e arquivos de dados, e então empacotará tudo em
um arquivo de instalação .zip. Junto ao arquivo .zip você vai encontrar
um arquivo de script de instalação que você pode usar para automatizar a
implantação do pacote em um servidor remoto.
Eu vou detalhar mais a fundo como criar pacotes de instalação Web em posts futuros.
Integração Contínua com o Team Build
A
maior parte dos recursos de instalação web do VS 2010 que eu descrevi
acima são construídos tendo como base tasks (tarefas) e targets (alvos) do MSBuild. O
recurso "Team Build" do TFS também usa o MSBuild, e suporta a execução
de builds noturnos, builds contínuos, permitindo integração contínua.
Isso significa que você pode criar pacotes de instalação, ou publicar
automaticamente suas aplicações web a partir de um ambiente Team Build.
Eu vou detalhar mais a fundo como habilitar isso em posts futuros.
Resumo
O
post de hoje cobriu alguns dos novos recursos de instalação web do VS
2010 em alto nível. Todas os recursos acima funcionam tanto com o VS
2010, bem como com o gratuito Visual Web Developer 2010 Express Edition.
Espero
que o post de hoje tenha dado uma descrição geral e ampla de todos os
novos recursos de instalação voltados a projetos web, e que tenha
ajudado a definir o contexto de onde e como eles são úteis. Nos próximos
posts eu vou ir mais fundo e explicarei passo a passo os detalhes de
como realmente tirar o máximo proveito deles.
Espero que ajude,
Scott
PS
Além do blog, eu também estou agora utilizando o Twitter para
atualizações rápidas e para compartilhar links.Siga-me em:
twitter.com/ScottGu
Texto traduzido do post original por
Leniel Macaferi.