Compartir a través de


Introducción a Web Deploy

de Harsh Mittal

¿Qué es Web Deploy?

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

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

Diagram that shows the path from Source to Destination. Between those points are Websites, Databases, and Configuration.

Diferencias entre Web Deploy y FTP

Web Deploy a menudo se comparar con tecnologías como FTP, XCOPY o RoboCopy. Aunque estas tecnologías son útiles, Web Deploy presenta varias ventajas.

Esta es una comparación entre Web Deploy y FTP:

  1. Web Deploy es más rápida que FTP. Web Deploy no emite un comando diferente para cada operación. En su lugar, hace una comparación al principio de la sincronización y solo transfiere los cambios.
  2. Web Deploy es segura. Web Deploy admite transferencias 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, se 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 soporte integrado para crear scripts de bases de datos de SQL Server, MySQL Server, Sqlite y SQL Server Compact y aplicar el script resultante durante la sincronización. Puede ser muy útil si la aplicación necesita una base de datos para su funcionamiento.
  5. Web Deploy puede aplicar transformaciones durante la implementación. Se puede usar Web Deploy para cambiar una cadena de conexión o la configuración de la 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 de forma pública, lo que permite crear nuevos escenarios.

¿Cómo funciona?

Diagram that shows the path from Source to Destination for Admin and another path for Admin and Non Admin.

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 de Web Deploy organiza la operación de sincronización mediante uno o varios proveedores de implementación web, tal como se describe a continuación.

marco

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 por medio de un ejecutable de línea de comandos, msdeploy.exe.

Proveedores

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 de MySQL (dbMySql), configuración de IIS 7 (appHostConfig), ensamblados GAC (gacAssembly) u objetos COM (comObject32/comObject64). Puede encontrar una lista más completa en TechNet.

El modelo de proveedor es extensible y permite al personal de desarrollo escribir sus propios proveedores para Web Deploy, si necesitan sincronizar datos personalizados.

Una mirada al interior

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 use depende de varios factores:

Diagram that shows a decision tree for an I I S 7 destination.

  • 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 (denominado también servicio de agente remoto). El servicio agente remoto proporciona seguridad para esta conexión y solo es accesible para los usuarios que son 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 quienes no son 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 credenciales de administrador, puede conectarse a los dos puntos de conexión.

Para más información

Consulte nuestros tutoriales orientativos en iis.net y nuestra documentación de Technet.