Compartir a través de


Cómo: Instalar un paquete de implementación utilizando el archivo deploy.cmd

Cuando se crea un paquete de implementación web en Visual Studio, se crea un archivo .cmd que puede usarse para instalar el paquete. Este archivo .cmd contiene los comandos de Web Deploy que instalan realmente el paquete. El archivo .cmd se proporciona para que la sintaxis de instalación de la línea de comandos resulte más fácil, ya que los comandos de Web Deploy pueden ser largos y complejos.

Antes de iniciar el archivo .cmd, debe asegurarse de que el servidor de destino está configurado correctamente. Si el destino es un servidor remoto, debe asegurarse de que dispone de una conexión apropiada y de que tiene los permisos adecuados en dicho servidor. Cuando inicie el archivo .cmd, podrá pasar opciones que, a su vez, el archivo .cmd pasará a Web Deploy.

En este tema se explica la sintaxis que se utiliza para invocar el archivo .cmd. También se proporciona información general sobre los requisitos previos necesarios para invocar el archivo .cmd, así como vínculos a otros recursos con información más detallada sobre la configuración.

Elegir un método de instalación

Esta sección contiene información general sobre las opciones de instalación local y remota del paquete, además de los procedimientos de configuración del servidor de cada una de las opciones. Los procedimientos de configuración del servidor en el caso de la implementación remota se han incluido para proporcionarle una visión general que le ayude a decidir qué método se adapta mejor a su situación. Cada uno de estos procedimientos está vinculado a un tema del sitio web de Microsoft IIS TechNet, donde encontrará instrucciones detalladas.

Si la implementación va a realizarse en el equipo de desarrollo (lo que sería conveniente para efectuar las pruebas), solo tiene que leer el procedimiento en el que se describe cómo se configura un equipo para la implementación local en curso.

Si la implementación va a realizarse en una empresa de hospedaje de terceros o en servidores de destino administrados por otra persona, la empresa de hospedaje o los administradores de los servidores especificarán el método que desean usar. En ese caso, puede omitir la información de estas opciones. En su lugar, puede leer solamente la parte del procedimiento en la que se indican los requisitos del equipo de desarrollo que resultan necesarios para el método que se va a usar.

Los métodos de instalación siguientes están disponibles:

  • Instalación del paquete en curso en el servidor local (el único que se ejecuta con el archivo .cmd).

    Debe contar con derechos de administración en el servidor local. Este es el método que normalmente usan los desarrolladores cuando realizan la implementación en el equipo de desarrollo para llevar a cabo pruebas locales mediante IIS.

  • Instalación en un servidor remoto mediante el Servicio de administración web (WMSvc) y el Controlador de implementación web.

    Las empresas de hospedaje de terceros suelen configurar sus servidores con arreglo a este método de implementación, de modo que los clientes puedan implementar las aplicaciones por sí mismos. Sin embargo, la empresa de hospedaje no concede al cliente derechos de administración en los servidores. Este método también se usa a menudo en los entornos empresariales en los que el departamento de TI no desea proporcionar a los desarrolladores derechos de administración de los servidores de prueba o de producción.

    Este método requiere IIS 7. Una persona que tenga derechos de administración en el servidor de destino utilizará el Administrador de IIS para configurar una cuenta que podrá utilizar en la implementación. Cuando realice la implementación, use las credenciales de esa cuenta. Una ventaja de este método es que, al realizar la implementación, no tiene que contar necesariamente con derechos de administración en el servidor de destino. Una desventaja es que, por lo general, no podrá realizar tareas de implementación que requieran derechos de administración, como la configuración de los valores de IIS.

  • Instalación en un servidor remoto mediante el Servicio Agente de implementación web (MsDepSvc). Este servicio también se conoce como Servicio remoto Web Deploy o simplemente Agente remoto.

    Debe contar con derechos de administración en el servidor remoto. Una de las ventajas de este método es que no existen limitaciones sobre lo que puede hacer en la implementación, ya que se convierte en un administrador del servidor de destino. No puede usar este método si no es conveniente que la persona que realiza la implementación se convierta en un administrador del servidor de destino.

  • Instalación en un servidor remoto mediante la configuración del proveedor tempAgent de Web Deploy.

    Al igual que con el Agente remoto, debe tener derechos de administración en el servidor de destino. La ventaja de este método frente al Agente remoto es que Web Deploy no tiene que estar instalado en el equipo en el que se ejecuta el archivo de comandos ni en el equipo de destino. Puede ejecutar Web Deploy desde una carpeta compartida de un servidor en el que esté instalado Web Deploy. Por tanto, puede realizar la implementación en varios servidores sin necesidad de instalar primero Web Deploy en cada servidor. Tampoco necesita actualizar cada servidor con las nuevas versiones de Web Deploy que se publiquen ni tiene que asegurarse de que los equipo de origen y destino tienen la misma versión de Web Deploy. La configuración del proveedor tempAgent requiere algunas operaciones de configuración adicionales en los servidores de destino en comparación con el Agente remoto. Sin embargo, si hay varios servidores en los que deben realizarse tareas de mantenimiento, con el tiempo, estas tareas requieren una carga de trabajo menor.

Para obtener más información acerca de cómo elegir la opción adecuada para su escenario, vea Using Web Deploy Remotely en el sitio web de Microsoft TechNet.

El resto de esta sección contiene procedimientos que proporcionan información general acerca de la configuración de los servidores en cada método de instalación del paquete.

Configurar un servidor para una implementación local

En el procedimiento siguiente se describe cómo se configura un servidor para la instalación del paquete local en curso.

Para configurar un servidor para la implementación local en curso

  • Asegúrese de que el servidor tiene el siguiente software instalado:

    • IIS 5.1, IIS 6 o IIS 7.

    • .NET Framework 2.0 SP1 o una versión posterior si la aplicación web que va a instalar lo requiere.

    • Web Deploy (la misma versión que se usó para crear el paquete).

    Para obtener información sobre la instalación de IIS 7, .NET Framework y Web Deploy utilizando el Instalador de plataforma web, vea Microsoft Web Platform Installer 2.0 en el sitio web de Microsoft.

Configurar servidores para el Servicio de administración web

En el procedimiento siguiente se proporciona información acerca de cómo se configuran los equipos de origen y de destino para que pueda instalar paquetes de implementación utilizando el Servicio de administración web (WMSvc) y el Controlador de implementación web. Para obtener más información e instrucciones detalladas, vea Configuring the Web Deployment Handler en el sitio web de Microsoft TechNet o Configure the Web Deployment Handler en el sitio web de IIS. net.

Para configurar los servidores con el fin de usar el Servicio de administración web en la implementación

  1. Asegúrese de que el equipo en el que se ejecuta el archivo deploy.cmd tiene el siguiente software instalado:

    • Web Deploy (la misma versión que se usó para crear el paquete).
  2. Asegúrese de que el servidor de destino tiene el siguiente software instalado:

    • IIS 7.

    • .NET Framework 2.0 SP1 o una versión posterior si la aplicación web que va a instalar lo requiere.

    • Web Deploy (la misma versión que se usó para crear el paquete).

    Para obtener información sobre la instalación de IIS 7, .NET Framework y Web Deploy utilizando el Instalador de plataforma web, vea Microsoft Web Platform Installer 2.0 en el sitio web de Microsoft.

  3. En el servidor de destino, configure el Servicio de administración web (WMSvc) siguiendo estos pasos:

    1. Agregue el servicio de rol Servicio de administración.

    2. Habilite las conexiones remotas.

    3. Cree una cuenta de usuario para usarla durante la instalación del paquete.

    4. Agregue reglas de delegación en la cuenta de usuario.

  4. En el equipo de destino, asegúrese de que el grupo de aplicaciones del sitio web de IIS en el que va a instalar el paquete está establecido en la versión de .NET Framework que requiere el paquete. (Si el paquete especifica un nombre de aplicación web pero no un nombre de sitio web, el paquete se instalará en el sitio web predeterminado).

Configurar servidores para el Servicio remoto Web Deploy

En el procedimiento siguiente se proporciona información acerca de cómo se configuran los equipos de origen y de destino para que pueda instalar paquetes de implementación de forma remota usando el Servicio Agente de implementación web (MSDepSvc). Para obtener más información, vea Web Deploy Remote Service en el sitio web de Microsoft TechNet.

Para configurar los servidores con el fin de usar el Servicio Agente de implementación web en la implementación

  1. Asegúrese de que el servidor en el que se ejecuta el archivo deploy.cmd tiene el siguiente software instalado:

    • Web Deploy (la misma versión que se usó para crear el paquete).
  2. Asegúrese de que el servidor de destino tiene el siguiente software instalado:

    • IIS 5.1, IIS 6 o IIS 7.

    • .NET Framework 2.0 SP1 o una versión posterior si la aplicación web que va a instalar lo requiere.

    • Web Deploy (la misma versión que se usó para crear el paquete).

    Para obtener información acerca de cómo se usa el Instalador de plataforma web para instalar IIS, .NET Framework y , vea Microsoft Web Platform Installer 2.0 en el sitio web de Microsoft.

  3. En el servidor de destino, asegúrese de que el servicio MSDepSvc se ha configurado e iniciado.

  4. En el servidor de destino, configure el firewall para permitir el tráfico HTTP a través del puerto 80.

  5. En el equipo de destino, asegúrese de que el grupo de aplicaciones del sitio web de IIS en el que va a instalar el paquete está establecido en la versión de .NET Framework que requiere el paquete. (Si el paquete especifica un nombre de aplicación web pero no un nombre de sitio web, el paquete se instalará en el sitio web predeterminado).

Configurar servidores para la configuración del proveedor tempAgent

En el procedimiento siguiente se proporciona información general acerca de cómo se configuran los equipos de origen y destino para realizar la instalación remota utilizando la configuración del proveedor tempAgent de Web Deploy. Para obtener más información, vea Web Deploy On Demand en el sitio web de Microsoft TechNet.

Para configurar los servidores con el fin de usar la configuración del proveedor tempAgent de Web Deploy en la implementación

  1. Asegúrese de que el equipo de origen tiene el siguiente software instalado:

    • Servicio Agente de implementación web (MSDepSvc)

      Nota

      De manera predeterminada, el Servicio Agente de implementación web no se instala con Visual Studio.Para instalarlo, ejecute el programa de instalación Herramienta de implementación web y seleccione Servicio Agente remoto.

  2. Asegúrese de que el servidor de destino tiene el siguiente software instalado:

    • IIS 5.1, IIS 6 o IIS 7.

    • .NET Framework 2.0 SP1 o una versión posterior si la aplicación web que va a instalar lo requiere.

    Para obtener información sobre la instalación de IIS y .NET Framework utilizando el Instalador de plataforma web, vea Microsoft Web Platform Installer 2.0 en el sitio web de Microsoft.

  3. En el servidor de destino, configure el firewall para permitir:

    • El tráfico HTTP a través del puerto 80.

    • El tráfico WMI.

  4. En el servidor de destino, asegúrese de que el Servicio Instrumental de administración de Windows (WMI) está en ejecución.

  5. En el servidor de destino, asegúrese de que hay una carpeta compartida en la que se copian temporalmente los archivos de programa de Web Deploy.

  6. En el servidor de destino, asegúrese de que no está instalado el Servicio Agente de implementación web (MSDepSvc). Si el servicio está instalado, interferirá con el proceso de implementación.

  7. Asegúrese de que las credenciales que use al ejecutar el archivo de comandos de implementación se corresponden con la cuenta de usuario que actúa como administrador local del servidor remoto.

  8. En el equipo de destino, asegúrese de que el grupo de aplicaciones del sitio web de IIS en el que va a instalar el paquete está establecido en la versión de .NET Framework que requiere el paquete. (Si el paquete especifica un nombre de aplicación web pero no un nombre de sitio web, el paquete se instalará en el sitio web predeterminado).

Ejecutar el archivo de comandos

Le recomendamos que ejecute Web Deploy primero en modo de prueba para comprobar si la implementación funciona según lo esperado. De este modo, si ocurriese algo inesperado, podría realizar cambios antes de llevar a cabo la implementación real. En el procedimiento siguiente se describe cómo se ejecuta el archivo de comandos en algunos escenarios comunes.

Para realizar la implementación usando el archivo de comandos

  1. Asegúrese de que el paquete (NombreDeProyecto.zip), el archivo NombreDeProyecto.SetParameters.xml y el archivo NombreDeProyecto.deploy.cmd se encuentran en la misma carpeta.

    Si está usando la configuración del proveedor tempAgent, esta carpeta puede estar ubicada en un equipo remoto. De lo contrario, deberá estar en el equipo en el intenta que ejecutar el archivo de comandos.

  2. Si desea personalizar los valores de alguno de los parámetros incluidos en el archivo SetParameters.xml, edite el archivo para cambiar los valores.

    Por ejemplo, puede usar el mismo paquete para realizar la instalación primero en un servidor de ensayo y después en un servidor de producción. En este caso, el valor de la cadena de conexión de base de datos tendrá que ser diferente en cada una de las instalaciones.

  3. Ejecute el archivo de comandos especificando la marca t (modo de prueba) y las marcas opcionales que resultan apropiadas en su situación.

    A continuación, se muestran algunos escenarios comunes con sus marcas opcionales apropiadas.

    Nota

    Para ver una lista de las marcas opcionales admitidas, escriba el nombre del archivo .cmd en un símbolo del sistema sin agregar ninguna marca.Si abre el archivo .cmd, podrá ver las marcas condicionales.Las marcas que no aparecen en el texto de ayuda ni se describen en este tema son marcas que no se admiten y que no deben usarse.

    Nota

    Si en el nombre de servidor de destino, el nombre de usuario o la contraseña se usan caracteres que no aparecen en la página de códigos activa, podría producirse un error en el archivo .cmd.

    • En el caso del Servicio de administración web (WMSvc), incluya la marca m y especifique la dirección URL del servicio como MSDeploy.axd utilizando la sintaxis siguiente:

      NombreDeProyecto.deploy.cmd /t /m:https://NombreServidorDestino:8172/MSDeploy.axd

      Para especificar un nombre de usuario y una contraseña, incluya las marcas u y p. Agregue la marca a para especificar la autenticación básica. En el ejemplo siguiente se muestra cómo se usan estas marcas.

      NombreDeProyecto.deploy.cmd /t /m:NombreServidorDestino /u:Usuario /p:Contraseña /a:basic

      Para permitir certificados que no son de confianza, agregue -AllowUntrusted=True, tal y como se muestra en el siguiente ejemplo:

      NombreDeProyecto.deploy.cmd /t /m:NombreServidorDestino /u:Usuario /p:Contraseña /a:basic -AllowUntrusted=True

    • En el caso del Servicio Agente de implementación web (MSDepSvc), incluya la marca m y especifique el nombre de servidor de destino o la dirección URL de destino como MSDeployAgentService usando la sintaxis siguiente:

      NombreDeProyecto.deploy.cmd /t /m:NombreServidorDestino

      NombreDeProyecto.deploy.cmd /t /m:http://NombreServidorDestino/MSDeployAgentService

      Para especificar un nombre de usuario y una contraseña, incluya las marcas u y p. (No agregue la marca a como haría en el caso de WMSvc).

    • En el caso de la configuración del proveedor tempAgent, incluya la marca g y una marca m para especificar un nombre de equipo usando la sintaxis siguiente:

      NombreDeProyecto.deploy.cmd /t /m:NombreServidorDestino /g:true

      Para especificar un nombre de usuario y una contraseña, incluya las marcas u y p. (No agregue la marca a como haría en el caso de WMSvc).

    • Para omitir el proveedor de bases de datos, incluya un comando skip de Web Deploy en el proveedor de SQL Server usando la sintaxis siguiente:

      ProjectName.deploy.cmd /t "-skip:objectName=dbFullSql"

      Deberá realizar esta operación si la implementación se va a llevar a cabo en una granja de servidores web y solo desea implementar la base de datos una vez.

    • Para omitir la actualización de Web.config, incluya un comando skip de Web Deploy en un archivo. Deberá realizar esta operación para evitar que los valores del archivo Web.config que se han configurado manualmente en el servidor de destino se reemplacen por otros.

      En el ejemplo siguiente se muestra cómo se omiten todos los archivos Web.config de la aplicación.

      NombreDeProyecto.deploy.cmd /t "-skip:objectName= filePath,absolutePath=\\ApplicationFolder\\[\w\s]+web\.config$"

      En el ejemplo siguiente se muestra cómo se omite únicamente el archivo Web.config de la aplicación.

      NombreDeProyecto.deploy.cmd /t "-skip:objectName= filePath,absolutePath=\\ApplicationFolder\\web\.config$"

  4. Revise el registro generado por la implementación en modo de prueba, realice los cambios necesarios y ejecute de nuevo el archivo de comandos con la marca t.

  5. Repita el paso anterior hasta que el registro refleje exactamente los cambios de implementación que desee.

  6. Ejecute el archivo de comando con la marca y ("sí" o modo de actualización) en lugar de la marca t y con las marcas opcionales que haya seleccionado.

    Web Deploy realiza la implementación y muestra un registro de las operaciones que lleva a cabo.

En el procedimiento anterior se incluyen ejemplos de sintaxis de escenarios comunes y se muestra cómo se usan las marcas definidas en el archivo .cmd. En otros escenario, puede pasar cualquier comando de Web Deploy a Web Deploy. No hay límite para las marcas definidas en el archivo .cmd. Si especifica un comando que incluye el signo igual (=), la marca deberá ir entre comillas, tal y como se muestra en los ejemplos anteriores.

También puede especificar comandos de Web Deploy estableciendo la variable de entorno __MsDeployAdditionalFlags.

Para obtener más información sobre otros comandos de Web Deploy que puede usar, vea Web Deploy Command Line Reference.

Vea también

Conceptos

Asignación de contenido de implementación ASP.NET