Introducción a Web Deploy

por Harsh Mittal

¿Qué es Web Deploy?

Web Deploy es una herramienta extensible de servidor cliente para sincronizar contenido y configuración con IIS. Web Deploy se usa principalmente en dos escenarios:

  1. Los desarrolladores lo usan para sincronizar (también conocido como "publicar") aplicaciones web compiladas (ASP .Net, PHP, etc.) desde herramientas de desarrollo (Visual Studio, WebMatrix, etc.) a IIS
  2. Los profesionales de TI lo usan para migrar sitios web y aplicaciones desde un sistema operativo que ejecuta una versión anterior de IIS como IIS6 a un sistema operativo que ejecuta una versión más reciente de IIS, como IIS 7.5.

Diagrama que muestra la ruta de acceso del origen al destino. Entre esos puntos, los sitios web, las bases de datos y la configuración.

¿Cómo se compara Web Deploy con FTP?

Web Deploy suele compararse con tecnologías como FTP, XCOPY o RoboCopy. Aunque estas tecnologías son útiles, Web Deploy ofrece varias ventajas.

Esta es una comparación de Web Deploy en FTP:

  1. Web Deploy es más rápido que FTP. Web Deploy no emite un comando diferente para cada operación. En su lugar, realiza una comparación al principio de la sincronización y solo transfiere los cambios.
  2. Web Deploy es seguro. Web Deploy admite la transferencia a través de HTTPS. Tenga en cuenta que las variantes de FTP, como SFTP y FTPS, también son seguras.
  3. Web Deploy puede establecer descriptores de seguridad (ACL) en archivos y directorios de destino. Por ejemplo, puede usar Web Deploy para conceder a un usuario de Windows acceso específico a la carpeta "Descargas" de la aplicación durante la implementación.
  4. Web Deploy puede publicar bases de datos. Web Deploy tiene compatibilidad lista para usar para crear scripts de bases de datos SQL Server, MySQL Server, Sqlite y SQL Server Compact y aplicar el script resultante durante la sincronización. Esto puede ser muy útil si tu aplicación necesita una base de datos para operar.
  5. Web Deploy puede aplicar transformaciones durante la implementación. Puede usar Web Deploy para cambiar una cadena de conexión o una configuración de aplicación durante una sincronización. Web Deploy admite una gran variedad de transformaciones, incluida la transformación de la configuración de IIS.
  6. Web Deploy se integra con Visual Studio 2010 y WebMatrix.
  7. Web Deploy es extensible. Web Deploy tiene un modelo de extensibilidad enriquecido y accesible públicamente que permite crear nuevos escenarios.

¿Cómo funciona?

Diagrama que muestra la ruta de acceso del origen al destino para el administrador y otra ruta de acceso para administrador y no administrador.

La mayoría de las operaciones de Web Deploy se modelan en torno a la operación de sincronización entre un origen y un destino. El marco web Deploy organiza la operación de sincronización mediante uno o varios proveedores de implementación web, como se describe a continuación.

Marco de referencia

Web Deploy consta de un marco que administra el estado de conexión y organiza la sincronización entre origen y destino. Por ejemplo, el marco es responsable de omitir la sincronización de determinados tipos de contenido, ejecutar reglas y transformar archivos.

El marco es accesible a través de una API pública, así como a través de un ejecutable de línea de comandos, msdeploy.exe.

Providers

Web Deploy puede sincronizar cualquier tipo de datos entre dos ubicaciones mediante el uso de sus proveedores integrados que se conectan al marco. Los proveedores saben cómo sincronizar un tipo determinado de datos entre dos orígenes o recuperar información útil sobre el origen de datos.

Por ejemplo, Web Deploy tiene un proveedor que funciona con bases de datos SQL (dbFullSql) que pueden sincronizar una base de datos completa de SQL Server con otro servidor. Otros proveedores integrados sincronizan bases de datos MySQL (dbMySql), configuración de IIS 7 (appHostConfig), ensamblados GAC (gacAssembly) o objetos COM (comObject32/comObject64). Puede encontrar una lista más completa en TechNet.

El modelo de proveedor es extensible y permite a los desarrolladores escribir sus propios proveedores para Web Deploy si necesitan sincronizar datos personalizados.

Bajo la capucha

Cuando un origen inicia una acción a través de Web Deploy, Web Deploy Framework establece una conexión con el destino. Web Deploy admite dos puntos de conexión y el que se usa depende de varios factores:

Diagrama que muestra un árbol de decisión para un destino I I S 7.

  • Si el destino es Windows Server 2003 que ejecuta IIS6, puede conectarse a su punto de conexión del servicio agente de implementación web (también conocido como servicio de agente remoto). El servicio agente remoto proporciona seguridad para esta conexión y solo es accesible para los usuarios administradores.
  • Si el destino es Windows Server 2008 que ejecuta IIS7 o Windows Server 2008 R2 con IIS7.5 Y se conecta con credenciales que no son de administrador, debe conectarse al punto de conexión del servicio de administración web. Web Deploy instala un controlador en el servicio de administración web, que permite a los no administradores implementar después de autenticar y autorizar con el servicio de administración web.
  • Si el destino es Windows Server 2008 que ejecuta IIS7 o Windows Server 2008 R2 con IIS7.5 Y se conecta con las credenciales de administrador, puede conectarse a cualquier punto de conexión.

Para más información

Visite nuestros tutoriales guiados en iis.net y nuestra documentación de TechNet.