Compartir a través de


Ejecutar un script en el proceso de compilación

La plantilla predeterminada de Team Foundation Build (TFBuild) proporciona las capacidades básicas que la mayoría de los equipos necesitan para compilar y probar la aplicación. Aun así, la mayoría de los proyectos de software son lo suficientemente exclusivos como para requerir que los equipos agreguen su propia lógica de negocios. Desarrollar y mantener un proceso de compilación personalizado puede ser complejo y costoso. Sin embargo, no tiene que hacerlo si solo desea ejecutar un script de PowerShell o un archivo por lotes (.bat) antes o después de que el sistema compile o compruebe su código.

Por ejemplo, antes de la compilación, desea establecer la versión de los archivos de ensamblado. O, después de la compilación, desea controlar los resultados de la compilación que se colocan en la ubicación de ensayo.

Ejecutar scripts en el proceso de compilación

Parámetros de script de la plantilla predeterminada

Puede usar la plantilla predeterminada para ejecutar PowerShell y scripts por lotes (.bat) antes y después de compilar el código, y antes y después de ejecutar las pruebas.

Para que el proceso de compilación pueda ejecutar su script, primero debe cargarlo:

Después de cargar el script, haga referencia a él desde el lugar adecuado en los parámetros del proceso de compilación. Si es necesario, también puede proporcionar argumentos a los scripts.

Ejemplo de proceso anterior a la compilación: aplicar una versión a los ensamblados

Aunque hay muchas tareas que puede realizar antes de que MSBuild compile el código, una de las más comunes puede ser la aplicación de una versión a los ensamblados.

ApplyVersionToAssemblies.ps1

Ejemplo de proceso posterior a la compilación: preparar los archivos binarios que se almacenarán provisionalmente

Si establece Ubicación de salida en AsConfigured, TFBuild le cede el control de los archivos binarios que se colocan. En este caso, TFBuild compila los archivos binarios y los deja en el directorio de origen, organizados básicamente de la misma forma que si se utilizara Visual Studio para compilarlos localmente en el equipo de desarrollo. El siguiente script recopila algunos de los tipos de archivos binarios típicos situados en las ubicaciones habituales y los copia en la carpeta desde la que TFBuild copia y coloca en la ubicación de ensayo.

GatherItemsForDrop.ps1

Preguntas y respuestas

P: El sistema me bloqueó porque no tengo permisos.¿Cómo se puede conseguir?

R: Referencia de permisos para Team Foundation Server

Q: ¿Qué variables de entorno están disponibles para el script?

R: Obtener datos de variables de entorno de TF_BUILD

P: ¿Dónde puedo obtener más información sobre el desarrollo de scripts?

R: Respuesta de Curah!: Ejecutar scripts en el proceso de Team Foundation Build

P: ¿Puedo ejecutar comandos de control de versiones?

R: Sí. En el ejemplo siguiente se muestra cómo desproteger y proteger un archivo:

& ($env:VS120COMNTOOLS + "..\..\common7\ide\tf.exe") checkout $file

& ($env:VS120COMNTOOLS + "..\..\common7\ide\tf.exe") checkin $file /comment:" Checked in by build process script. ***NO_CI***" /noprompt

P: ¿Dónde puedo obtener los scripts?

Extensiones de TFS Build de la comunidad

P: Los scripts no me proporcionan suficiente control.¿Qué puedo hacer?

Personalizar la plantilla de proceso de compilación.