Compartir vía


Implementación web en la empresa

por Jason Lee

En este tutorial se describe cómo cumplir muchos de los desafíos que encontrará al administrar la implementación de aplicaciones web de escala empresarial en entornos de desarrollo, pruebas, ensayo y producción. El tutorial incluye una solución de referencia junto con una combinación de contenido conceptual y orientado a tareas para guiarle a través de diversas tareas y procedimientos comunes.

Para obtener una traducción italiana de estos tutoriales, visite http://www.lucamorelli.it.

Desafíos de implementación empresarial

Las organizaciones suelen encontrar estos desafíos cuando buscan administrar la implementación de soluciones complejas a escala empresarial:

  • Debe poder implementar proyectos en varios entornos, como entornos de desarrollo o pruebas, plataformas de ensayo y servidores de producción. La solución debe implementarse con diferentes opciones de configuración para cada entorno.
  • Debe implementar varios proyectos dependientes simultáneamente como parte de un proceso de compilación e implementación automatizados o de un solo paso.
  • Debe poder impulsar la implementación desde un proceso automatizado. Por ejemplo, quiere usar un proceso de integración continua (CI) para implementar aplicaciones web en un entorno de prueba cuando se proteja el código nuevo.
  • Debe poder controlar el proceso de implementación y establecer variables de implementación desde fuera de Visual Studio, ya que es poco probable que los desarrolladores tengan las opciones de configuración correctas o las credenciales necesarias para cada entorno de destino.
  • Debe implementar proyectos de base de datos basados en esquemas y conservar los datos existentes en implementaciones posteriores.
  • Debe implementar bases de datos de pertenencia ad hoc sin implementar datos de cuentas de usuario. También puede que tenga que actualizar el esquema de las bases de datos de pertenencia implementadas sin perder los datos de la cuenta de usuario existentes.
  • Debe excluir determinados archivos o carpetas al implementar contenido en varios entornos de destino.

Introducción al enfoque

En este tutorial, junto con los otros tutoriales de esta serie, se usa este enfoque de alto nivel para satisfacer los desafíos descritos anteriormente.

  • Use archivos de proyecto personalizados de Microsoft Build Engine (MSBuild) para controlar el proceso general de compilación e implementación.
  • Esto le permite compilar e implementar todos los proyectos de la solución como parte de una sola operación que admite scripts.
  • Las opciones específicas del entorno se configuran mediante archivos de proyecto sencillos específicos del entorno. A diferencia del enfoque centrado en Visual Studio de usar configuraciones de solución y publicar perfiles para configurar implementaciones para distintos entornos, este enfoque le permite configurar y administrar el proceso de implementación desde fuera de Visual Studio. Esto significa que los desarrolladores no necesitan conocimientos avanzados de cadena de conexión, puntos de conexión de servicio, credenciales de servidor y otras variables de implementación para entornos de destino.
  • Team Build puede invocar los archivos de proyecto personalizados como parte de un flujo de trabajo de Team Foundation Server (TFS). Esto le permite configurar la implementación automatizada para escenarios de CI.

Usar la herramienta de implementación web de Internet Information Services (IIS) (Web Deploy) para empaquetar e implementar proyectos de aplicación web.

  • Web Deploy proporciona un marco que le permite empaquetar e implementar el contenido de la aplicación web en un servidor web IIS de destino, junto con dependencias, opciones de configuración, configuración de seguridad y cualquier otro requisito.
  • Puede controlar todo el proceso de empaquetado e implementación desde los archivos de proyecto de MSBuild personalizados. También puede manipular las opciones de configuración que acompañan al paquete de implementación web, como cadena de conexión, puntos de conexión de servicio y detalles de destino de IIS.
  • Web Deploy, junto con la canalización de publicación web, ofrece muchos puntos de extensibilidad que le permiten personalizar las implementaciones. Por ejemplo, es fácil excluir archivos y carpetas no deseados de los paquetes de implementación web.

Use la utilidad VSDBCMD.exe para implementar y actualizar esquemas de base de datos.

  • VSDBCMD permite implementar bases de datos desde un archivo de esquema de base de datos (.dbschema), que se genera al compilar un proyecto de base de datos de Visual Studio. En cambio, la funcionalidad de implementación de base de datos incluida en Web Deploy es más adecuada para implementar bases de datos existentes desde una instancia local de SQL Server.
  • A diferencia de la funcionalidad de Visual Studio para implementar proyectos de base de datos, VSDBCMD permite implementar actualizaciones diferenciales en una base de datos de destino existente. Esto le permite conservar los datos existentes mientras actualiza el esquema de la base de datos.
  • Puede ejecutar comandos VSDBCMD desde los archivos de proyecto de MSBuild personalizados.

Mapa de contenido

En este tutorial se incluyen temas que se dividen en cuatro áreas principales.

En estos temas se presenta la solución de referencia (la solución Contact Manager) y se describe cómo descargarla y configurarla en el equipo local:

En estos temas se presentan los archivos de proyecto de MSBuild, se describe cómo crear y usar archivos de proyecto personalizados y se explica el proceso de implementación de la solución Contact Manager:

En estos temas se describe la implementación de aplicaciones web, incluido cómo funciona el proceso de compilación y empaquetado, cómo se integra el proceso de compilación con la canalización de publicación web, cómo modificar los parámetros de implementación y cómo implementar paquetes web en entornos de destino:

Tecnologías clave

Los temas de este tutorial usan principalmente estas tecnologías para administrar la compilación y la implementación:

  • Visual Studio 2010
  • MSBuild
  • IIS 7.5
  • Web Deploy 2.0
  • La utilidad de implementación de bases de datos VSDBCMD.exe

Otros tutoriales de esta serie

Esto forma parte de una serie de cinco tutoriales sobre la implementación web a escala empresarial. Estos son los otros tutoriales de la serie:

  • Implementación de aplicaciones web en escenarios empresariales. Este contenido introductorio proporciona el fondo contextual de la serie de tutoriales. Describe el escenario del tutorial y muestra cómo las tareas y los tutoriales descritos en toda la serie encajan en un proceso más amplio de Administración del ciclo de vida de las aplicaciones (ALM).
  • Configurar entornos de servidor para la implementación web. En este tutorial se describe cómo configurar servidores de Windows para admitir varios escenarios de implementación, incluida la implementación remota de paquetes web mediante el servicio agente de implementación web (el agente remoto) o la implementación remota de controlador y base de datos remota de Web Deploy. Proporciona instrucciones sobre cómo elegir el método de implementación adecuado para su propio entorno y describe cómo usar el marco de granja de servidores web (WFF) para replicar aplicaciones web implementadas en todos los servidores web de una granja de servidores.
  • Configurar Team Foundation Server para la implementación web. En este tutorial se describe cómo configurar TFS para admitir varios escenarios de implementación, incluida la implementación automatizada como parte de un proceso de CI y las implementaciones desencadenadas manualmente de compilaciones específicas.
  • Implementación web avanzada de empresa. En este tutorial se describe cómo realizar varias tareas de implementación más avanzadas, como personalizar las implementaciones de bases de datos para varios entornos, excluir archivos y carpetas de la implementación y desconectar las aplicaciones web durante el proceso de implementación.