Microsoft Web Deploy v3: léame

de Harsh Mittal

Información general

Web Deploy es una herramienta que simplifica la migración, la administración y la implementación de aplicaciones web, sitios y servidores. Se puede usar para empaquetar un sitio web, incluyendo automáticamente el contenido, la configuración, los certificados y las bases de datos. Se puede usar para sincronizar entre IIS 6.0, IIS 7.x e IIS8.0, o para migrar desde IIS 6.0, IIS7.x a IIS 7.x y versiones posteriores. Los paquetes creados se pueden usar para el control de versiones, la copia de seguridad o la implementación.

Características

Web Deploy incluye estas características clave:

Paquetes de sitios web y aplicaciones. Los desarrolladores y administradores pueden empaquetar la configuración y el contenido de las aplicaciones web instaladas, incluidas las bases de datos SQL, y usar los paquetes para el almacenamiento o volver a implementarlos. Estos paquetes se pueden implementar después mediante la interfaz del Administrador de IIS sin necesidad de privilegios administrativos en un servidor remoto.

Delegación de las tareas de implementación en usuarios que no son administradores. Los administradores del servidor pueden elegir delegar tareas de implementación en los usuarios que no son administradores. Por ejemplo, en entornos de hospedaje compartidos y empresariales, se puede delegar la implementación de contenido y la marcación de una carpeta como una aplicación. También se pueden habilitar tareas más avanzadas adecuadas en un entorno dedicado, como permitir la implementación de un certificado, un sitio web o un ensamblado de GAC.

Simplificación de la implementación para los administradores. Los administradores del servidor encontrarán la delegación útil, ya que la implementación de una aplicación web, incluido un ensamblado de GAC, un certificado y un grupo de aplicaciones, puede llevar mucho tiempo incluso con todos los permisos necesarios.

Migración desde IIS 6.0 e IIS7. La operación de migración proporciona a los administradores una manera de migrar sitios o servidores completos de IIS 6.0 a IIS 7 y versiones posteriores, IIS7 a IIS8, incluida su configuración y contenido. Una migración es básicamente una manera de sincronizar, filtrada por reglas de migración.

Sincronización de IIS 6.0/IIS 7/IIS8.0. La operación de sincronización proporciona a los administradores una manera rápida de sincronizar un sitio o servidor e implementar cambios en los sitios y servidores existentes. Una sincronización permite sincronizar un origen con un destino. Por ejemplo, puede sincronizar dos rutas de acceso de directorio o dos servidores web. La sincronización se puede hacer con objetos locales o remotos.

Instantánea de IIS 7.0 y versiones posteriores. La funcionalidad de instantánea, o archivo, permite a los administradores y desarrolladores tomar rápidamente un archivo de su sitio web o servidor para revisar, restaurar o hacer copias de seguridad. La característica de instantánea automática también facilita a los administradores de sitios web el autoservicio en algunas de las tareas anteriores.

Análisis de dependencias en IIS 6.0 y versiones posteriores. La operación de análisis permite a los administradores comprobar qué componentes están instalados en el servidor de origen. De este modo, pueden determinar si están presentes las características que necesitarán en IIS 7.0 o que requieren una configuración más avanzada que simplemente copiar archivos.

Solución de problemas y validación. Para validar una operación, el parámetro -whatif permite a los administradores ver qué acciones ocurrirían al hacer una operación. Esto es especialmente útil para realizar sincronizaciones o migraciones, cuando quieren validar qué cambios se materializarán antes de realizarlos. Para solucionar problemas, el parámetro -verbose permite a los administradores obtener detalles completos sobre qué operaciones se están ejecutando y, tras un error, la capacidad de diagnosticar el problema.

Sincronización diferencial. La herramienta solo sincroniza lo que ha cambiado entre el origen y el destino.

Scripting sencillo con PowerShell. Las tareas comunes de Web Deploy se pueden automatizar mediante cmdlets de PowerShell.

installation notes (Nota de compatibilidad de SAP n.º 1984787: Notas de instalación de SUSE Linux Enterprise Server 12)

Requisitos

Se deben cumplir los siguientes requisitos previos para instalar la herramienta:

· Debe tener instalado .NET 2.0 SP1 o una versión superior.

Descarga e instalación

Hay dos paquetes descargables independientes para la herramienta; deberá descargar el paquete adecuado. Puede descargar las versiones (x86) o (x64).

Importante: problemas corregidos en esta versión

Cambio: En versiones anteriores de Web Deploy, el servicio tempAgent siempre se ejecutaba en el puerto 80. En Web Deploy v3 RC, este puerto puede cambiarse especificando el nuevo puerto en el argumento computername mediante el formato computername=serverName:###, tempagent=true (donde #### es el número de puerto que se va a usar).

Cambio: Se ha corregido un problema con Web Deploy en el que los recuentos de cambios no eran correctos para las operaciones -whatif al usar la opción -useCheckSum.

Cambio: Web Deploy V3 deshabilita automáticamente la configuración del proxy. Anteriormente se trataba de un problema que tenían algunos clientes al abrir Internet Explorer y deshabilitar la configuración del proxy allí antes de iniciar una sincronización.

Cambio: Se ha agregado compatibilidad con enlaces de estilo IPv6 en la lógica de sincronización de certificados. Las versiones anteriores no podían sincronizar los enlaces IPv6 correctamente.

Cambio: Al sincronizar una clave del Registro secundaria con un servidor en el que no existe la clave del Registro principal, las claves del Registro primarias hasta la clave secundaria ahora se crearán (sin valores) en lugar de producirse un error de sincronización. Por ejemplo, si sincroniza la clave del Registro HKEY_LOCAL_MACHINE\SOFTWARE\MySoft\TestWeb1 donde la clave MySoft no existe en la máquina de destino, se creará esta clave en la máquina, lo que permitirá que la sincronización se haga correctamente.

Cambio: En algunos casos, la publicación de Web Deploy quitó los permisos heredados en la carpeta raíz del sitio. Web Deploy V3 corrige este problema.

Problemas conocidos

Problema: La actualización de Web Deploy v3 interrumpe las sincronizaciones de SQLite que funcionaban con Web Deploy v2

Los archivos de configuración predeterminados ejecutables de Web Deploy v3 (msdeploy.exe.config y msdepsvc.exe.config) se han actualizado de .Net 2.0 a .Net 4.0, lo que causa esta interrupción.

Solución alternativa:

  • SQLite tiene una versión compatible con .Net 4. Al copiar sqlite3.exe de esta versión en el directorio "%ProgramFiles%\IIS\Microsoft Web Deploy V3", se resolverá el problema.
  • Cambie la versión predeterminada de .Net por WebDeploy V3 msdeploy.exe.config a .Net 2.0, como se muestra a continuación
<configuration>
  <startup>
    <supportedRuntime version="v2.0.50727" />
    <supportedRuntime version="v4.0" />
  </startup>
</configuration>

Problema: El servicio agente de Web Deploy no funciona con cuentas de usuarios locales que no son la cuenta de usuario de administrador, pero son miembros del grupo de administradores. Devuelve el error ERROR_USER_NOT_ADMIN.

El servicio de agente remoto acepta credenciales integradas de administrador o de administrador de dominio , cualquier otra credencial de administrador no funcionará y se devolverá este error.

Solución alternativa:

Use la cuenta de administrador integrada o la cuenta de usuario de dominio (parte del grupo de administración en la máquina local). El servicio de agente remoto acepta las dos. Si tiene una configuración que no es de dominio y quiere usar una cuenta que no sea una cuenta de administrador integrada, haga lo siguiente:

  • Cree un grupo de usuarios independiente MSDepSvcUsers en el equipo remoto.
  • Cree una cuenta local A en los equipos remoto y local.
  • Agregue A a MSDepSvcUsers en el equipo remoto.
  • Use la cuenta A para publicar; lo que le permitirá publicar sin necesidad de usar la cuenta predefinida de administrador.

Problema: Algunas reglas de delegación del servicio de administración no funcionan después de actualizar Web Deploy a Web Deploy 3.0

Si un servidor IIS 7+ usa la configuración compartida, determinadas reglas de delegación con la identidad runAs establecida en SpecificUser dejarán de funcionar. Esto se debe a que el instalador de Web Deploy y el script .\AddDelegationRules.ps1 crean cuentas de usuario de la máquina local y las establece como identidad runAs en determinadas reglas de delegación. Estas cuentas de usuario no se reconocerán en otras máquinas y, por tanto, las reglas no funcionarán en la configuración compartida.
Soluciones alternativas:

· Si las reglas de delegación ya se han sobrescrito, vuelva a crear manualmente las reglas afectadas.

Problema: No se puede publicar en el sitio creado con el script de PowerShell SetupSiteForPublish.ps1 o configurado para publicar Web Deploy a través de "Configurar para la publicación de Web Deploy..." IU

El script de creación del sitio, así como la interfaz de usuario que configura Web Deploy para un sitio existente establece la dirección URL de publicación como https://myserver:8172/msdeploy.axd. Este nombre de equipo generalmente es accesible en una red. Sin embargo, a menudo no es accesible desde fuera de la red, por lo que debe reemplazarse por un nombre DNS público.

Soluciones alternativas:

  • Desde el script: el script no advierte de este error. Reemplace la dirección URL por la correcta (como se indica a continuación) en el archivo de configuración generado.
  • Desde la interfaz de usuario: escriba el nombre DNS público en el campo "Especifique la dirección URL para la conexión del servidor de publicación", por ejemplo, en lugar de https://myserver:8172/msdeploy.axd, escriba https://some.publicDnsName.com:8172/msdeploy.axd.

Problema: El paquete creado con Web Deploy V3 no funciona con WebDeploy V2. Devuelve el resultado System.NullReferenceException.

Soluciones alternativas:

  • Actualice el equipo de destino a Web Deploy v3
  • Use Web Deploy V2 para crear el paquete.

Problema: La interfaz de usuario de Web Deploy en el administrador de IIS devuelve el error "No se puede convertir el objeto de tipo".

Si el equipo de destino tiene instalado Web Deploy v1.1 y el equipo de origen, v2, es posible que vea este error. Se trata de una incompatibilidad entre versiones.

Soluciones alternativas:

  • Actualice el equipo de origen a Web Deploy v2
  • Desinstale todas las versiones de Web Deploy en el equipo de origen

Problema: Si está sincronizando una máquina IIS 6.0 con una gran cantidad de sitios (lo que provoca que la metabase supere los 500 MB), la herramienta puede bloquearse y dejar de responder.
Solución alternativa:

Cree una lista de los sitios y sincronice cada uno individualmente.

Problema: Si está sincronizando desde una máquina a una máquina remota donde el contenido o la configuración compartida está en una tercera máquina independiente (es decir, UNC), el agente remoto no podrá autenticarse correctamente.
Solución alternativa:

Sincronícela manualmente o use el controlador de implementación web en su lugar.

Problema: Si cambia las opciones de configuración compartidas (por ejemplo, habilitar o deshabilitar la configuración compartida), deberá reiniciar el agente remoto después.
Solución alternativa:

Reinicie el agente después de hacer un cambio en la configuración compartida.

Problema: Si está sincronizando un sitio web donde la ruta de acceso es %systemdrive%\wwwroot a un sitio web de destino donde la unidad del sistema es diferente (C: en lugar de D:), la ruta de acceso del sitio web se expandirá en el destino. Esto implica que si tiene una configuración compartida con diferentes unidades del sistema y depende de %systemdrive% para asegurarse de que el contenido funciona, puede interrumpir el sitio en una máquina.
Solución alternativa:

Agregue una regla de reemplazo para cambiar la ruta de acceso durante la sincronización.

Problema: Si intenta empaquetar en un archivo de paquete existente, es posible que no funcione correctamente.
Solución alternativa:

Use otro nombre o elimine el archivo del paquete anterior antes de crear uno nuevo.

Problema: Microsoft Web Deploy no mueve los archivos físicos para las asignaciones de scripts y los elementos a los que se hace referencia en la lista de restricciones de extensión del servicio web, a menos que los archivos se encuentren en los directorios de contenido de un sitio web. Esto se debe a que es posible que muchas ISAPI no se migren correctamente, como:

  • ASP.NET (requiere instalación).
  • WebDAV (que no se incluye en Windows Server 2008 de forma predeterminada y requiere instalación adicional).
  • Extensiones de servidor de FrontPage (que no se incluye en Windows Server 2008 de manera predeterminada y requiere instalación adicional).

Solución alternativa:

Incluya manualmente los archivos o las asignaciones de scripts que no requieran la instalación en un archivo de manifiesto. Consulte la sección de Ayuda para obtener más información sobre cómo crear archivos de manifiesto.

Problema: No se moverán los archivos de confianza personalizados a los que se hace referencia en la configuración de directiva Web.config y Seguridad de acceso a código (CAS).
Solución alternativa:

Especifique manualmente el archivo de confianza personalizado y el archivo de directiva CAS, security.config, en un archivo de manifiesto. Consulte el archivo de Ayuda para obtener más información sobre cómo crear archivos de manifiesto.

Problema: Si mueve un sitio a un servidor que tiene un nivel de confianza diferente, no recibirá una advertencia.
Solución alternativa:

Asegúrese de que el nivel de confianza está establecido correctamente en la máquina de destino al hacer una sincronización o migración de nivel de sitio.

Problema: Si tiene un archivo de manifiesto personalizado que apunta a un origen no válido, es posible que no reciba un error.
Solución alternativa:

Si no ve la salida esperada al usar un archivo de manifiesto, pruebe cada elemento individualmente para ver si están mal escritos o no son válidos.

Problema: FTP y SMTP no están incluidos en las definiciones predeterminadas de webserver60.
Solución alternativa:

Si necesita sincronizar estas ubicaciones, hágalo manualmente mediante el proveedor de metaclave, es decir, metakey=lm/msftpsvc.

Problema: Las propiedades heredadas no se migran con una migración de sitio de IIS 6.0. Un ejemplo común es la autenticación establecida en el nivel de servidor con todos los sitios que heredan esta propiedad. Al migrar un único sitio, ahora heredará la configuración del nuevo servidor de destino. Si la configuración del servidor de destino no es la misma, el sitio podría interrumpirse. Esto se aplica a todas las propiedades heredadas, incluidas las asignaciones MIME y de script, etc.
Solución alternativa:

Use la marca metadataGetInherited para copiar la configuración heredada en el nivel de sitio al sincronizar o migrar un sitio web en IIS 6.0. O asegúrese de que la configuración del servidor es la misma en los servidores de origen y destino o establezca manualmente el sitio para que use la configuración correcta.

Solución de problemas de instalación

Si tiene algún problema durante la instalación, puede ejecutar el comando adecuado de los que se muestran a continuación para que la versión de Windows cree un archivo de registro que contenga información sobre el proceso de instalación:

msiexec /L msdeployinstall.log /I <path_to_msi>

msiexec /L msdeployinstall.log /I <path_to_msi>

Puede analizar este archivo de registro después de una instalación errónea para ayudar a determinar la causa del error.

Para obtener más información

Los siguientes recursos adicionales para Web Deploy están disponibles en IIS.net:

  • Tutoriales de Web Deploy. Se describe cómo descargar e instalar Web Deploy, cómo usarlo para las operaciones de sincronización o migración, etc.
  • Asegúrese también de visitar Microsoft Web Deployment Team Blog para obtener sugerencias, trucos y la información más reciente sobre la herramienta.