Instalação manual de pacotes da Web
por Jason Lee
Este tópico descreve como importar manualmente um pacote de implantação da Web para o IIS (Serviços de Informações da Internet).
O tópico Criando e empacotando projetos de aplicativo Web descreveu como a Ferramenta de Implantação da Web do IIS (Implantação da Web), em conjunto com o Microsoft Build Engine (MSBuild) e o WPP (Web Publishing Pipeline), permite empacotar seus projetos de aplicativo Web em um único arquivo zip. Esse arquivo, comumente conhecido como um pacote de implantação da Web (ou simplesmente um pacote de implantação), contém todas as informações de conteúdo e configuração de que o IIS precisa para recriar seu aplicativo Web em um servidor Web.
Depois de criar um pacote de implantação da Web, você pode publicá-lo em um servidor IIS de várias maneiras. Em muitos cenários, você desejará aproveitar os pontos de integração entre o MSBuild, o WPP e a Implantação da Web para criar e instalar pacotes Da Web remotamente como parte de um processo de build e implantação automatizado ou de etapa única. Esse processo é descrito em Implantando pacotes Web. No entanto, isso nem sempre é possível. Suponha que você queira implantar um aplicativo Web em um ambiente de produção voltado para a Internet. Por motivos de segurança, esse ambiente de produção tem a menor probabilidade de estar atrás de um firewall em uma sub-rede separada do servidor de build, em uma rede de perímetro (também conhecida como DMZ, zona desmilitarizada e sub-rede exibida). Em muitos casos, o ambiente de produção estará em um domínio separado ou em uma rede fisicamente isolada.
Nesses cenários, sua única opção pode ser portar o pacote Web para o servidor de destino e importá-lo manualmente para o IIS. Embora essa abordagem impeça a implantação automatizada, ainda é uma técnica altamente eficaz para publicar um aplicativo Web– basta copiar um único arquivo zip para seu servidor Web e usar um assistente para guiá-lo pelo processo de importação.
Este tópico faz parte de uma série de tutoriais baseados nos requisitos de implantação corporativa de uma empresa fictícia chamada Fabrikam, Inc. Esta série de tutoriais usa uma solução de exemplo, a solução do Contact Manager, para representar um aplicativo Web com um nível realista de complexidade, incluindo um aplicativo ASP.NET MVC 3, um serviço WCF (Windows Communication Foundation) e um projeto de banco de dados.
Visão geral da tarefa
Você precisará concluir essas tarefas de alto nível para importar um pacote de implantação da Web para o IIS:
- Crie um pacote de implantação da Web usando a linha de comando do MSBuild, o Team Build ou o Visual Studio 2010.
- Copie o pacote web para o servidor Web de destino.
- Use o Assistente para Importar Pacote de Aplicativo no Gerenciador do IIS para instalar o pacote Web e fornecer valores para variáveis como cadeias de conexão e pontos de extremidade de serviço.
Este tópico mostrará como executar esses procedimentos. As tarefas e os passo a passo neste tópico pressupõem que você já esteja familiarizado com os conceitos por trás de pacotes Web, Implantação da Web e WPP. Para obter mais informações, consulte Compilando e empacotando projetos de aplicativo Web.
Observação
Este tópico é melhor usado em conjunto com Configurar um Servidor Web para Publicação de Implantação da Web (Implantação Offline), que explica como instalar os componentes necessários e preparar um site do IIS para importação de pacotes.
Criar um pacote de implantação da Web
A primeira tarefa é criar um pacote de implantação da Web para o projeto de aplicativo Web que você deseja implantar. Você pode criar pacotes Web de várias maneiras.
Abordagem 1: criar um pacote como parte do processo de build com o Visual Studio
Você pode configurar seu projeto de aplicativo Web para criar um pacote de implantação da Web após cada build por meio da guia Pacote/Publicar Web nas páginas de propriedades do projeto. Esse processo é descrito em Compilando e empacotando projetos de aplicativo Web.
Abordagem 2: Criar um pacote como parte do processo de build com o MSBuild
Se você criar seu projeto de aplicativo Web usando o MSBuild diretamente, por meio de um arquivo de projeto msbuild personalizado ou da linha de comando, poderá criar um pacote de implantação da Web como parte do processo de build, incluindo as propriedades DeployOnBuild=true e DeployTarget=Package em seu comando. Esse processo é descrito em Noções básicas sobre o processo de build.
Abordagem 3: Criar um pacote sob demanda no Visual Studio
Você pode criar um pacote de implantação da Web para um projeto de aplicativo Web a qualquer momento no Visual Studio 2010. Para fazer isso, na janela Gerenciador de Soluções, clique com o botão direito do mouse em seu projeto de aplicativo Web e clique em Compilar Pacote de Implantação.
Abordagem 4: Criar um pacote sob demanda da linha de comando
Você pode criar um pacote de implantação da Web na linha de comando invocando o destino pacote em seu projeto de aplicativo Web usando o MSBuild. O comando deve ser semelhante a este:
MSBuild.exe [Path to your project].[csproj/vbproj] /T:Package
Seja qual for a abordagem que você usar, o resultado final será o mesmo. O WPP cria um pacote de implantação da Web como um arquivo zip, juntamente com vários recursos de suporte, na pasta de saída do seu projeto de aplicativo Web.
Quando estiver planejando importar o pacote Web manualmente, você precisará apenas do arquivo zip. Copie esse arquivo para o servidor Web de destino e você pode iniciar o processo de importação.
Importar um pacote Web para o IIS
Você pode usar o próximo procedimento para importar um pacote de implantação da Web do sistema de arquivos local para um site do IIS. Antes de executar este procedimento, verifique se você tem:
- Copiou o pacote de implantação da Web para o servidor Web.
- Configurou um servidor Web do IIS para hospedar seu aplicativo.
Para obter mais informações sobre como configurar um servidor Web do IIS para dar suporte a pacotes de implantação da Web, consulte Configurar um servidor Web para publicação de implantação da Web (implantação offline).
Para importar um pacote de implantação da Web usando o Gerenciador do IIS
No Gerenciador do IIS, no painel Conexões , clique com o botão direito do mouse no site do IIS, aponte para Implantar e clique em Importar Aplicativo.
No Assistente para Importar Pacote de Aplicativo, na página Selecionar o Pacote , navegue até o local do pacote de implantação da Web e clique em Avançar.
Na página Selecionar o Conteúdo do Pacote, desmarque qualquer conteúdo que você não precise e clique em Avançar.
Observação
Em muitos casos, talvez você não queira importar tudo o que vem com um pacote de implantação da Web. Por exemplo, talvez você não queira permitir que a Implantação da Web substitua o banco de dados associado.
As entradas Conceder permissões definem permissões no sistema de arquivos de destino para garantir que a identidade do pool de aplicativos possa acessar a pasta física que armazena o conteúdo do site. Além disso, o usuário de autenticação anônima recebe permissão de leitura para a pasta para permitir que o aplicativo atenda a arquivos de tipo MIME (Várias Extensões de Internet Mail). Se preferir, você pode remover essas entradas e configurar permissões manualmente.Na página Inserir Informações do Pacote de Aplicativo , forneça as informações solicitadas.
Quando você cria um pacote web, o WPP analisa o arquivo de configuração do aplicativo e detecta quaisquer variáveis, como cadeias de conexão e pontos de extremidade de serviço. Nesse caso:
O Caminho do Aplicativo é o caminho do IIS em que você deseja instalar seu aplicativo. Essa configuração é comum a todos os pacotes de implantação que o WPP cria.
ContactService Service Endpoint Address é o endereço que o aplicativo deve usar para se comunicar com o serviço WCF implantado. Essa configuração corresponde a uma entrada no arquivo web.config .
A primeira configuração cadeia de conexão é a cadeia de conexão que a Implantação da Web deve usar para implantar o banco de dados associado ao aplicativo (nesse caso, um banco de dados de associação ASP.NET). Essa configuração corresponde à configuração na guia Pacote/Publicar SQL no Visual Studio.
A segunda configuração cadeia de conexão é a cadeia de conexão que seu aplicativo realmente usará para se comunicar com o banco de dados quando ele estiver em execução. Isso corresponde a uma entrada de cadeia de conexão no arquivo web.config .
Observação
Para obter mais informações sobre de onde esses parâmetros vêm, consulte Configurando parâmetros para implantação de pacote web.
Clique em Próximo.
Se essa não for a primeira vez que você implantou o aplicativo neste site, será solicitado que você especifique se deseja excluir todo o conteúdo existente antes da instalação. Escolha a opção apropriada para seus requisitos e clique em Avançar.
Quando o IIS terminar de instalar o pacote, clique em Concluir.
Neste ponto, você publicou com êxito seu aplicativo Web no IIS.
Conclusão
Este tópico descreveu como importar um pacote de implantação da Web para um site do IIS usando o Gerenciador do IIS. Essa abordagem para publicação de aplicativos Web é apropriada quando restrições de segurança ou infraestrutura tornam a implantação remota impossível ou indesejável.
Leitura Adicional
Para obter diretrizes sobre como configurar um servidor Web do IIS para dar suporte à importação manual de um pacote web, consulte Configurar um servidor Web para publicação de implantação da Web (implantação offline). Para obter diretrizes mais gerais sobre como implantar pacotes Web, consulte Passo a passo: implantando um projeto de aplicativo Web usando um pacote de implantação da Web (parte 1 de 4).