Compartir a través de


Tutorial: Implementar un proyecto de aplicación web con un paquete de implementación web (Parte 4 de 4)

Este es el cuarto de una serie de tutoriales en los que se muestra cómo implementar un proyecto de aplicación web usando un paquete de implementación web. Para obtener más información sobre la serie, vea Tutorial: Implementar un proyecto de aplicación web con un paquete de implementación web (Parte 1 de 4).

En este tutorial se emplea el paquete que creó en el tercer tutorial para instalar la aplicación web en un equipo remoto. En este tutorial se muestran las tareas siguientes:

  • Instalar un paquete en un equipo remoto mediante el archivo deploy.cmd.

  • Usar parámetros de implementación personalizados para los valores de configuración que desea poder cambiar cuando se instale el paquete.

Requisitos previos

Para obtener una lista de requisitos previos, vea Tutorial: Implementar un proyecto de aplicación web con un paquete de implementación web (Parte 1 de 4).

Preparar el servidor de destino

Si el servidor de destino lo está configurando otra persona, especificará qué método de implementación se debe usar. Si es usted quien está configurando el servidor de destino, debe seleccionar un método. Los métodos disponibles son los siguientes:

  • El Servicio de administración web (WMSvc) y el Controlador de implementación web.

  • El Servicio Agente de implementación web (MsDepSvc).

  • El valor de proveedor tempAgent de Web Deploy.

Para obtener más información sobre estos métodos, o para obtener información sobre cómo configurar un servidor de destino para usar uno de ellos, vea Cómo: Instalar un paquete de implementación utilizando el archivo deploy.cmd.

Además de configurarse para el método de implementación que seleccione, el servidor de destino debe tener lo siguiente:

  • IIS 7 habilitado.

  • ASP.NET 4 registrado con IIS 7.

  • Un grupo de aplicaciones ASP.NET 4 está asignado al sitio web predeterminado.

Se debe configurar el servidor de destino antes de continuar con este tutorial.

Establecer los parámetros de implementación

En el procedimiento siguiente, asegúrese de que el archivo SetParameters.xml contiene los valores correctos. Esto es equivalente a comprobar o cambiar los valores de los parámetros que se muestran en el cuadro de diálogo Especificar información de paquete de aplicación al instalar un paquete mediante el Administrador de IIS.

Para modificar el archivo SetParamters.xml

  1. Abra el proyecto de aplicación web que creó en el primer tutorial de esta serie.

  2. En el Explorador de soluciones, expanda la carpeta obj, expanda la carpeta Release y, a continuación, expanda la carpeta Package. (En un tutorial anterior abrió la carpeta Debug. Asegúrese de que esta vez está trabajando con la carpeta Release, no con la carpeta Debug.)

  3. Abra AdventureWorks.SetParameters.xml.

    El código XML del archivo es similar al del ejemplo siguiente:

    <parameters>
      <setParameter name="IIS Web Application Name" 
        value="Default Web Site/AdventureWorks" /> 
      <setParameter name="machineKey" value="staging" /> 
      <setParameter name="ApplicationServices-Deployment Connection String"
        value="... " /> 
      <setParameter name="AWLTConnectionString-Deployment Connection String"
        value="..." /> 
      <setParameter name="ApplicationServices-Web.config Connection String" 
        value="..." /> 
      <setParameter name="AWLTConnectionString-Web.config Connection String" 
        value="..." /> 
    </parameters>
    

    Observe el elemento setParameter que tiene machineKey como valor de su atributo name. El atributo value de este elemento setParameter es staging, que es el valor predeterminado que estableció en el tercer tutorial de esta serie para la implementación en un servidor de ensayo. Si estuviera preparando la instalación del paquete en un servidor de producción, podría cambiar el atributo value de este elemento setParameter para el parámetro machineKey a un valor de producción. A continuación, el archivo Web.config implementado se actualizaría para contener el valor de producción en lugar del valor de ensayo.

Preparar la instalación remota mediante el archivo Deploy.cmd

En el procedimiento siguiente, se preparará la ejecución del archivo deploy.cmd abriendo un símbolo del sistema y navegando hasta la carpeta que contiene el archivo deploy.cmd.

Para preparar la instalación remota mediante el archivo Deploy.cmd

  1. En el Explorador de soluciones, seleccione el archivo AdventureWorks.SetParameters.xml.

  2. En la ventana Propiedades, anote el valor de la propiedad Ruta de acceso completa.

  3. En el menú Iniciar de Windows, haga clic en Símbolo del sistema.

  4. Vaya a la carpeta que contiene el archivo AdventureWorks.SetParameters.xml.

    Ahora, la ventana Símbolo del sistema está preparada para que escriba el comando que ejecuta el archivo deploy.cmd.

La sintaxis para el archivo deploy.cmd varía, dependiendo del método de implementación que esté usando. Use el procedimiento correspondiente al método que haya elegido.

Los ejemplos de sintaxis de las próximas secciones incluyen los marcadores de posición siguientes:

  • ServerName. Reemplácelo con el nombre del servidor de destino.

  • UserName y Password. Si es aplicable, reemplácelos con las credenciales reales configuradas para la implementación.

Instalar de forma remota mediante el Controlador de implementación web

En el procedimiento siguiente se describe cómo instalar el paquete usando el Servicio de administración web (WMSvc) y el Controlador de implementación web.

Para implementar usando el Servicio de administración web y el Controlador de implementación web

  1. Escriba el comando siguiente para llevar a cabo una ejecución de prueba de la instalación del paquete:

    AdventureWorks.deploy.cmd /t /m:https://ServerName:8172/MSDeploy.axd /u:username /p:password /a:basic
    

    Para la implementación mediante el Servicio de administración web, se le suele proporcionar una cuenta de usuario para usarla en la implementación.

    La opción t ejecuta el comando en modo de prueba de forma que pueda examinar los resultados del comando antes de implementar la aplicación realmente.

    Nota

    En algunos escenarios, se podría producir un error en la implementación si se usa la opción t aunque se lleve a cabo correctamente al usar la opción y.Para obtener más información, vea Preguntas más frecuentes sobre la implementación de proyectos de aplicación web ASP.NET.)

  2. Si la salida de la ejecución de prueba no es lo que esperaba, realice los cambios que considere necesarios.

  3. Si la salida de la ejecución de prueba es la que esperaba, repita el comando pero sustituyendo la marca de prueba t (de "trial", en inglés) por la marca y (yes, en inglés), como se muestra en el siguiente ejemplo:

    AdventureWorks.deploy.cmd /y /m:https://ServerName:8172/MSDeploy.axd /u:username /p:password /a:basic
    

Instalar de forma remota mediante el Servicio Agente de implementación web

En el procedimiento siguiente se describe cómo instalar el paquete usando el Servicio Agente de implementación web (MsDepSvc).

Para implementar usando el Servicio Agente de implementación web

  1. Escriba el comando siguiente para llevar a cabo una ejecución de prueba de la instalación del paquete:

    AdventureWorks.deploy.cmd /t /m:ServerName
    

    Para el Servicio Agente de implementación web, normalmente se usa autenticación de Windows y no se especifica ningún nombre de usuario ni contraseña.

    La opción t ejecuta el comando en modo de prueba de forma que pueda examinar los resultados del comando antes de implementar la aplicación realmente.

    Nota

    En algunos escenarios, se podría producir un error en la implementación si se usa la opción t aunque se lleve a cabo correctamente al usar la opción y.Para obtener más información, vea Preguntas más frecuentes sobre la implementación de proyectos de aplicación web ASP.NET.)

  2. Si la salida de la ejecución de prueba no es lo que esperaba, realice los cambios que considere necesarios.

  3. Si la salida de la ejecución de prueba es la que esperaba, repita el comando pero sustituyendo la marca de prueba t (de "trial", en inglés) por la marca y (yes, en inglés), como se muestra en el siguiente ejemplo:

    AdventureWorks.deploy.cmd /y /m:ServerName
    

Instalar de forma remota usando el valor de proveedor tempAgent

En el procedimiento siguiente se describe cómo instalar el paquete usando el valor de proveedor tempAgent de Web Deploy.

Para implementar usando el valor de proveedor tempAgent de Web Deploy

  1. Escriba el comando siguiente para llevar a cabo una ejecución de prueba de la instalación del paquete:

    AdventureWorks.deploy.cmd /t /m:ServerName /g:true
    

    Para el valor de proveedor tempAgent normalmente se usa autenticación de Windows y no se especifica ningún nombre de usuario ni contraseña.

    La opción t ejecuta el comando en modo de prueba de forma que pueda examinar los resultados del comando antes de implementar la aplicación realmente.

    Nota

    En algunos escenarios, se podría producir un error en la implementación si se usa la opción t aunque se lleve a cabo correctamente al usar la opción y.Para obtener más información, vea Preguntas más frecuentes sobre la implementación de proyectos de aplicación web ASP.NET.)

  2. Si la salida de la ejecución de prueba no es lo que esperaba, realice los cambios que considere necesarios.

  3. Si la salida de la ejecución de prueba es la que esperaba, repita el comando pero sustituyendo la marca de prueba t (de "trial", en inglés) por la marca y (yes, en inglés), como se muestra en el siguiente ejemplo:

    AdventureWorks.deploy.cmd /y /m:ServerName /g:true
    

Pasos siguientes

En los dos primeros tutoriales de esta serie implementó un proyecto de aplicación web de sistema de archivos en una aplicación web de IIS para realizar pruebas en el equipo de desarrollo. En el tercer tutorial creó un paquete para la implementación en un servidor de ensayo o en un servidor de producción. En este tutorial, que es el último de la serie, ha implementado el paquete en un equipo remoto usando el archivo deploy.cmd que Visual Studio genera cuando crea el paquete.

Hay otros escenarios típicos para la implementación en servidores de ensayo y de producción, entre los que se incluyen los siguientes:

  • Usar el mismo paquete para la implementación en varios servidores de una granja de servidores web, suprimiendo la implementación de la base de datos para cada instalación después de la primera instalación.

  • Evitar que se implementen ciertos archivos (por ejemplo, archivos Web.config) porque se actualizan manualmente en el servidor de destino y no desea sobrescribir esos cambios.

  • Para obtener más información sobre estos escenarios, vea Cómo: Instalar un paquete de implementación utilizando el archivo deploy.cmd.

Vea también

Conceptos

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