Share via


Crear scripts de implementación para flujos de trabajo de compilación-implementación-prueba

Para implementar la aplicación con un flujo de trabajo de la compilación-implementación-prueba, debe crear scripts de implementación y agregarlos a la compilación.Los scripts de implementación son archivos BAT o CMD que copian la compilación a equipos del entorno de laboratorio.Si la compilación incluye un paquete de instalación, puede utilizar los scripts de implementación para ejecutar el paquete de instalación.Al crear el flujo de trabajo de la compilación-implementación-prueba, usted agrega los comandos al flujo de trabajo que ejecutan los scripts de implementación.Cuando se ejecuta el flujo de trabajo, el controlador de compilación ejecuta esos comandos en el directorio de trabajo en equipos especificados en el entorno de laboratorio.

Vea Cómo: Crear un flujo de trabajo de compilación-implementación-prueba para un entorno SCVMM o Cómo: Crear un flujo de trabajo de compilación-implementación-prueba para un entorno estándar.Estas secciones explican cómo crear y utilizar los scripts de implementación con el flujo de trabajo de la compilación-implementación-prueba:

  • Preparar los archivos generados para la implementación

  • Escribir sus scripts de implementación.

  • Compilar sus scripts de implementación.

  • Configuración de directorios de trabajo

  • Agregar los scripts de implementación para el flujo de trabajo.

    1. Variables integradas

Requisitos

  • Visual Studio Ultimate, Visual Studio Premium, Visual Studio Test Professional

Preparar los archivos generados para la implementación

La manera que elija para instalar la aplicación determinará las tareas principales que los scripts de implementación necesitan realizar.Instalar la aplicación puede implicar copiar sólo un EXE a un equipo cliente o podría implicar ejecutar un paquete de implementación que instala los archivos en varios equipos.La tabla siguiente describe estas tareas para cada tipo de implementación.

Nota importanteImportante

Si su aplicación se basa en software necesario que no está instalado ni configurado por los scripts de implementación antes de implementar la aplicación, debe instalarlo manualmente al preparar los equipos de su entorno de laboratorio.Si está utilizando un entorno SCVMM que implemente las instantáneas del entorno, debe asegurarse de que las instantáneas tienen instalado el software que es requisito previo.

Tipo de instalación

Descripción

Paquete de implementación de servicio web

Nota de precauciónPrecaución
Si implementa una aplicación que utiliza IIS, el servidor IIS en el entorno de laboratorio debe tener el agente Servicio web de implementación configurado antes de implementar la aplicación

Los scripts de implementación deben copiar los archivos de la compilación y el paquete de implementación en las máquinas receptoras del entorno de laboratorio y después ejecutar el paquete de implementación.Para ello, quizá tenga que pasar un nombre de dominio, un nombre de cuenta de servicio y un nombre de servidor TFS al script de implementación como parámetros.Este tipo de instalación normalmente requiere instalar y configurar manualmente el software que es requisito previo, como un servidor web o un servidor de bases de datos, antes de implementar la aplicación.La configuración del software que es requisito previo podría requerir determinadas tareas que habilitan la implementación de aplicaciones del equipo.Por ejemplo, si la aplicación utiliza IIS, el servidor IIS en el entorno de laboratorio debe tener el agente Servicio web de implementación configurado antes de implementar la aplicación.

Archivos de compilación sin el paquete de instalación

Los scripts de implementación deben copiar los archivos de compilación y la aplicación en las máquinas receptoras en el entorno de laboratorio.

Paquete de instalación

Nota de precauciónPrecaución
Si implementa un paquete de instalación con su flujo de trabajo de compilación-implementación-prueba, los scripts de implementación deben controlar los datos proporcionados por el usuario que sean generados cuando se ejecuta el paquete de instalación o la implementación de aplicaciones tendrá errores.

Los scripts de implementación deben copiar el paquete de instalación en las máquinas receptoras en el entorno de laboratorio y después ejecutar el paquete de instalación.Cuando los scripts de implementación funcionan con el paquete de instalación, debe asegurarse de que es una instalación silenciosa.Las entradas de usuarios solicitadas por la instalación deben ser controladas por los scripts de implementación.Esto incluye las credenciales.Si los scripts de implementación no controlan todos los datos proporcionados por el usuario cuando se ejecuta el paquete de instalación, la implementación de aplicaciones presentará errores.Si no está implementando una aplicación web y se requiere un paquete de instalación para su implementación, se recomienda usar un paquete de instalación de InstallShield.Para obtener más información sobre InstallShield, vea Windows Installer Deployment.

Escribir sus scripts de implementación

Éstas son las tareas más comunes realizadas por los scripts de implementación:

  • Obtener la ruta de acceso de compilación del controlador de compilación.Puede enviarlo al script de implementación como argumento de comando.

  • Especificar la ruta de distribución.

  • Crear el directorio de implementación.También puede hacerlo manualmente, en lugar de en el script de implementación.Si utiliza la instantánea del entorno de la pre-implementación con el flujo de trabajo, sólo deberá crear el directorio en las máquinas virtuales de la instantánea.

  • Copiar el paquete de implementación de la ruta de la compilación a su ruta de distribución.

  • Ejecutar el paquete de implementación en el directorio de implementación.

Los comandos siguientes muestran algunas tareas comunes realizadas por los scripts de implementación.

REM set build path
set buildlocation=%1

REM set deployment path
set targetdir="C:\deploy"

REM create deployment directory
if not exist %targetdir% (cmd /c mkdir %targetdir%)

REM copy build to the deployment directory
xcopy /c /y /e %buildlocation%\*.* %targetdir%

REM if you are using a deployment package you can run it here, after you copy it to your deployment directory

Compilar sus scripts de implementación.

Después de crear los scripts de implementación, debe comprobarlos en el control de versiones y después se configuran para copiarlos en el resultado de la compilación.Para compilar los scripts de implementación, primero debe asegurarse de que se almacenan en su proyecto de Visual Studio y no sólo en la solución.Puede hacer esto en Visual Studio seleccionando el script de implementación en Explorador de solucionesy, en Propiedades, cambiando Directorio de salida de copia a Copiar siempre.

Configuración de directorios de trabajo

Puede especificar un directorio de trabajo para cada conjunto de comandos que agregue al flujo de trabajo de la compilación-implementación-prueba.Cuando se especifica un directorio de trabajo, el controlador de compilación ejecuta los comandos especificados en el directorio de trabajo de cada equipo al que se asigne ese rol.Si no especifica un directorio de trabajo al agregar comandos al flujo de trabajo de la compilación-implementación-prueba, el controlador de compilación ejecutará los comandos en el directorio de trabajo predeterminado−C:\Windows\System32.

Nota importanteImportante

No cree los directorios de trabajo utilizando los comandos que se agregan al flujo de trabajo de la compilación-implementación-prueba; si lo hace, los directorios no se crearán antes de que los scripts de implementación intenten copiar los archivos en esos directorios.

Si especifica un directorio de trabajo, debe asegurarse de que el directorio haya sido creado antes de que los scripts de implementación copien cualquier archivo en ese directorio.No cree los directorios de trabajo con los comandos que utiliza para agregar los scripts de implementación al flujo de trabajo de la compilación-implementación-prueba.Si lo hace, los directorios no se crearán antes de que los scripts de implementación intenten copiar los archivos en los directorios.Para asegurarse de que un directorio de trabajo se crea antes de que los scripts de implementación copien archivos en él, debe crear manualmente el directorio en las máquinas receptoras en el entorno de laboratorio o el directorio se debe crear por los scripts de implementación antes de que cualquier comando copie archivos en este.

Agregar los scripts de implementación al flujo de trabajo.

Agregue los comandos del shell de Windows al flujo de trabajo de la compilación-implementación-prueba para implementar la aplicación en el entorno de laboratorio.Si usa los scripts de implementación, los comandos deben copiar los scripts de implementación del controlador de compilación en el directorio de trabajo de las máquinas receptoras y luego ejecutar los scripts de implementación.Sin embargo, para las instalaciones simples de la aplicación que requieren copiar sólo algunos archivos en el directorio de trabajo, puede utilizar comandos de shell del flujo de trabajo sin especificar los scripts de la implementación externa.

Si desea agregar un comando que se ejecuta desde una ventana del sistema de Windows, como mkdir o mediante la ejecución de un archivo por lotes, debe comenzar el comando utilizando cmd /c.Por ejemplo, el comando cmd /c $(BuildLocation)\copyexe $(BuildLocation), donde copyexe es un archivo por lotes copyexe.bat, que copia una aplicación ejecutable en un directorio local de la máquina virtual.

Variables integradas: Cuando agregue estos comandos al flujo de trabajo de la compilación-implementación-prueba, puede utilizar variables integradas para identificar determinadas rutas y equipos.También puede pasar estas variables a los scripts de implementación.

  • $(BuildLocation)
    La ruta de acceso completa donde se encuentran los archivos de compilación o la ubicación de destino de la compilación, si hay una configurada en el flujo de trabajo de la compilación-implementación-prueba.Utilice esta variable para tener acceso a los archivos de la compilación.

  • $(InternalComputerName_<VM Name>)
    El nombre de equipo para una máquina virtual en un entorno de SCVMM.Utilice esta variable para tener acceso a una máquina virtual hospedada cuando no conoce el nombre del equipo host.Si tiene un script de implementación para configurar un servidor web que necesita el nombre de equipo, puede pasarlo como argumento al script.Por ejemplo, si el nombre de la máquina virtual del servidor web fuera VM1 y el nombre de equipo fuera MyWebServer, escribiría $(InternalComputerName_VM1) como argumento para el script y esto pasaría el valor MyWebServer al script.

  • $(ComputerName_<VM Name>)

    [!NOTA]

    Aislamiento de red en entornos de SCVMM: Si usa el aislamiento de red para el entorno de SCVMM, el valor de $(InternalComputerName_<VM Name>) es el mismo para una instancia de una máquina virtual en cada copia del entorno, pero el valor de $(ComputerName_<VM Name>) es diferente.

    El nombre de dominio completo del equipo.Utilice este acceso variable a un equipo fuera de un entorno de SCVMM.Es posible que desee pasar esta variable como un argumento para configurar un servidor web.Por ejemplo, si el nombre de la máquina virtual del servidor web fuera VM1, puede acceder al nombre completo calificado de dominio de la máquina virtual mediante el paso del argumento $(ComputerName_VM1) a su script de desarrollo.

Vea también

Conceptos

Configurar flujos de trabajo automatizados de compilación-implementación-prueba