Instalación manual de paquetes web

por Jason Lee

En este tema se describe cómo importar manualmente un paquete de implementación web en Internet Information Services (IIS).

El tema Compilación y empaquetado de proyectos de aplicaciones web describe cómo la herramienta de implementación web (Web Deploy) de IIS, junto con Microsoft Build Engine (MSBuild) y la canalización de publicación web (WPP), le permite empaquetar los proyectos de aplicación web en un solo archivo ZIP. Este archivo, comúnmente conocido como paquete de implementación web (o simplemente un paquete de implementación), contiene todo el contenido y la información de configuración que IIS necesita para volver a crear la aplicación web en un servidor web.

Una vez creado un paquete de implementación web, puede publicarlo en un servidor IIS de varias maneras. En muchos escenarios, querrá aprovechar los puntos de integración entre MSBuild, WPP e Web Deploy para crear e instalar paquetes web de forma remota como parte de un proceso de compilación e implementación automatizados o de un solo paso. Este proceso se describe en Implementación de paquetes web. Sin embargo, esto no siempre es posible. Supongamos que desea implementar una aplicación web en un entorno de producción accesible desde Internet. Por motivos de seguridad, es muy probable que este entorno de producción esté detrás de un firewall en una subred independiente del servidor de compilación, en una red perimetral (también conocida como DMZ, zona desmilitarizada y subred filtrada). En muchos casos, el entorno de producción estará en un dominio independiente o en una red aislada físicamente.

En estos escenarios, la única opción puede ser portar el paquete web al servidor de destino e importarlo manualmente en IIS. Aunque este enfoque impide la implementación automatizada, sigue siendo una técnica muy eficaz para publicar una aplicación web, simplemente copia un único archivo ZIP en el servidor web y usa un asistente para guiarle a través del proceso de importación.

Este tema forma parte de una serie de tutoriales basados en los requisitos de implementación empresarial de una empresa ficticia denominada Fabrikam, Inc. Esta serie de tutoriales utiliza una solución de muestra (Contact Manager) para representar una aplicación web con un nivel de complejidad realista, que incluye una aplicación ASP.NET MVC 3, un servicio Windows Communication Foundation (WCF) y un proyecto de base de datos.

Información general sobre tareas

Deberá completar estas tareas de alto nivel para importar un paquete de implementación web en IIS:

  • Cree un paquete de implementación web mediante la línea de comandos de MSBuild, Team Build o Visual Studio 2010.
  • Copie el paquete web en el servidor web de destino.
  • Use el Asistente para importar paquetes de aplicación en el Administrador de IIS para instalar el paquete web y proporcionar valores para variables como cadenas de conexión y puntos de conexión de servicio.

En este tema se explica cómo realizar cada uno de estos procedimientos. Las tareas y tutoriales de este tema suponen que ya conoce los conceptos subyacentes a paquetes web, Web Deploy y WPP. Para más información, consulte Compilación y empaquetado de proyectos de aplicación web.

Nota:

Este tema se utiliza mejor junto con Configuración de un servidor web para la publicación de Web Deploy (implementación sin conexión), que explica cómo instalar los componentes necesarios y preparar un sitio web de IIS para la importación de paquetes.

Creación de un paquete de implementación web

La primera tarea consiste en crear un paquete de implementación web para el proyecto de aplicación web que quiere implementar. Puede crear paquetes web de varias maneras.

Enfoque 1: Creación de un paquete como parte del proceso de compilación con Visual Studio

Puede configurar el proyecto de aplicación web para crear un paquete de implementación web después de cada compilación mediante la pestaña Paquete/Publicación en web en las páginas de propiedades del proyecto. Este proceso se describe en Compilación y empaquetado de proyectos de aplicación web.

Enfoque 2: Creación de un paquete como parte del proceso de compilación con MSBuild

Si compila el proyecto de aplicación web mediante MSBuild directamente, ya sea a través de un archivo de proyecto de MSBuild personalizado o desde la línea de comandos, puede crear un paquete de implementación web como parte del proceso de compilación mediante la inclusión de las propiedades DeployOnBuild=true y DeployTarget=Package en el comando. Este proceso se describe en Descripción del proceso de compilación.

Enfoque 3: Creación de un paquete a petición en Visual Studio

Puede crear un paquete de implementación web para un proyecto de aplicación web en cualquier momento en Visual Studio 2010. Para ello, en la ventana Explorador de soluciones, haga clic con el botón derecho en el proyecto de aplicación web y, a continuación, haga clic en Compilar paquete de implementación.

To create a web deployment package for a web application project, in the Solution Explorer window, right-click your web application project, and then click Build Deployment Package.

Enfoque 4: Creación de un paquete a petición desde la línea de comandos

Puede crear un paquete de implementación web desde la línea de comandos invocando el paquete de destino en el proyecto de aplicación web mediante MSBuild. El comando debe ser similar a este:

MSBuild.exe [Path to your project].[csproj/vbproj] /T:Package

Sea cual sea el enfoque que utilice, el resultado final es el mismo. WPP crea un paquete de implementación web como un archivo ZIP, junto con varios recursos auxiliares, en la carpeta de salida del proyecto de aplicación web.

The W P P creates a web deployment package as a zip file, together with various supporting resources, in the output folder for your web application project.

Cuando planee importar manualmente el paquete web, solo necesitará el archivo ZIP. Copie este archivo en el servidor web de destino y puede comenzar el proceso de importación.

Importación de un paquete web en IIS

Puede usar el siguiente procedimiento para importar un paquete de implementación web desde el sistema de archivos local a un sitio web de IIS. Antes de realizar este procedimiento, asegúrese de lo siguiente:

  • Ha copiado el paquete de implementación web en el servidor web.
  • Ha configurado un servidor web IIS para hospedar la aplicación.

Para más información sobre cómo configurar un servidor web de IIS para admitir paquetes de implementación web, consulte Configuración de un servidor web para la publicación de Web Deploy (implementación sin conexión).

Para importar un paquete de implementación web mediante el Administrador de IIS

  1. En el Administrador de IIS, en el panel Conexiones, haga clic con el botón derecho en el sitio web de IIS, seleccione Implementar y, a continuación, haga clic en Importar aplicación.

    In I I S Manager, in the Connections pane, right-click your IIS website, point to Deploy, and then click Import Application.

  2. En el Asistente para importar paquetes de aplicación, en la página Seleccionar el paquete, vaya a la ubicación del paquete de implementación web y, a continuación, haga clic en Siguiente.

  3. En la página Seleccionar el contenido del paquete, borre el contenido que no necesite y, después, haga clic en Siguiente.

    On the Select the Contents of the Package page, clear any content that you don't require, and then click Next.

    Nota:

    En muchos casos, es posible que no quiera importar todo lo que viene con un paquete de implementación web. Por ejemplo, puede que no desee permitir que Web Deploy sustituya a la base de datos asociada.
    Las entradas Conceder permisos establecen permisos en el sistema de archivos de destino para asegurarse de que la identidad del grupo de aplicaciones pueda acceder a la carpeta física que almacena el contenido del sitio web. Además, al usuario de autenticación anónima se le concede permiso de lectura a la carpeta para permitir que la aplicación sirva archivos de tipo Extensiones multipropósito de correo Internet (MIME). Si lo prefiere, puede quitar estas entradas y configurar los permisos manualmente.

  4. En la página Escribir información del paquete de aplicación, proporcione la información solicitada.

    On the Enter Application Package Information page, provide the requested information.

  5. Al crear un paquete web, WPP analiza el archivo de configuración de la aplicación y detecta cualquier variable, como cadena de conexión y puntos de conexión de servicio. En este caso:

    1. Ruta de acceso de la aplicación es la ruta de acceso de IIS donde desea instalar la aplicación. Esta configuración es común a todos los paquetes de implementación que crea WPP.

    2. Dirección del punto de conexión de servicio de ContactService es la dirección que la aplicación debe usar para comunicarse con el servicio WCF implementado. Esta configuración corresponde a una entrada del archivo web.config.

    3. La primera configuración de la cadena de conexión es la cadena de conexión que Web Deploy debe usar para implementar la base de datos asociada a la aplicación (en este caso, una base de datos de pertenencia ASP.NET). Esta configuración corresponde a la configuración de la pestaña Paquete/Publicación de SQL en Visual Studio.

    4. La segunda configuración de la cadena de conexión es la cadena de conexión que la aplicación usará realmente para comunicarse con la base de datos cuando esté en funcionamiento. Esto corresponde a una entrada de cadena de conexión en el archivo web.config.

      Nota:

      Para obtener más información sobre dónde proceden estos parámetros, consulte Configuración de parámetros para la implementación de paquetes web.

  6. Haga clic en Next.

  7. Si no es la primera vez que ha implementado la aplicación en este sitio web, se le pedirá que especifique si desea eliminar todo el contenido existente antes de la instalación. Elija la opción adecuada para sus requisitos y, a continuación, haga clic en Siguiente.

    Choose the option that's appropriate for your requirements, and then click Next.

  8. Cuando IIS haya terminado de instalar el paquete, haga clic en Finalizar.

    When I I S has finished installing the package, click Finish.

En este momento, ha publicado correctamente la aplicación web en IIS.

Conclusión

En este tema se describe cómo importar un paquete de implementación web en un sitio web de IIS mediante el Administrador de IIS. Este enfoque de la publicación de aplicaciones web es adecuado cuando las restricciones de seguridad o infraestructura hacen que la implementación remota sea imposible o no deseada.

Lecturas adicionales

Para obtener instrucciones sobre cómo configurar un servidor web de IIS para admitir la importación manual de un paquete web, consulte Configuración de un servidor web para la publicación de Web Deploy (implementación sin conexión). Para obtener instrucciones más generales sobre la implementación de paquetes web, consulte Tutorial: Implementación de un proyecto de aplicación web mediante un paquete de implementación web (parte 1 de 4).