Configuración de Builds incrementales en Team Build

November 3, 2006 17:13 by Luis Fraile

Bueno aquí pongo un resumen, traducido, de un artículo (también reducido) bastante interesante, de cómo configurar builds incrementales en las Team Builds de Team Foundation Server, lo cual es bastante interesante.

Por supuesto, partiremos de una Team Build ya existente, aquí podéis consultar como se crean nuevas Team Builds: How to: Create a New Build Type

Lo primero que tenemos que hacer es traernos el fichero TFSBuild.proj de la build que queramos configurar, a nuestro workspace (How to: Create a Workspace, How to: Get the Source for your Team Project), este fichero lo podemos encontrar en Source Control, en la rama del proyecto al que pertenezca la build, y en la carpeta $/MiProyectoTfs/TeamBuildTypes/NombredeBuild, una vez que nos hayamos traido la última versión del fichero, lo desbloqueamos para editarlo, este fichero es un Xml, con lo que la edición es bastante sencilla, y lo más cómodo es hacerlo desde el propio entorno de Visual Studio.

Y ahora veremos lo que hay que editar en el fichero:

  • Cuando Team Build comienza la ejecución de una build, borra los ficheros y las fuentes que se ha traido de la última build al directorio de trabajo intermedio, en las builds incrementales estos ficheros los necesitamos, ya que más adelante forzaremos a obtener únicamente los ficheros que han cambiado, para cambiar esto, y que no borre los ficheros que ya existen, especificaremos la propiedad SkipClean a true.
  • También, en el inicio de la build, el Workspace usado por TeamBuild, se borra y se vuelve a crear, este paso también tenemos que saltarlo para poder conservar lo que ya teníamos en el WorkSpace, por tanto usaremos la propiedad SkipInitializeWorkspace y también la pondremos a true.
  • Por último, lo que vamos a hacer es, no forzar a que se traiga la última versión de todos los ficheros, obteniendo únicamente los que se han modificado, esto se hace mediante la propiedad ForceGet, y en este caso la pondremos a false.

Todas estas propiedades las pondremos en un nuevo <ItemGroup> al final del fichero TFSBuild.proj, justo antes del cierre de </Project>, con lo que el final del fichero nos quedaría de este modo:

</ItemGroup>

<PropertyGroup>

<SkipClean>true</SkipClean>

<SkipInitializeWorkspace>true</SkipInitializeWorkspace>

<ForceGet>false</ForceGet>

</PropertyGroup>

</Project>

 

Bueno con esto quedaría configurada nuestra build para que sea incremental, como ya comentaba al principio, para hacer esto, necesitamos tener permisos en Source Control para modificar ese fichero y también tenemos que tener permisos de Administer a build y Administer workspaces (Team Foundation Server Permissions).

También os dejo aquí la Url original del artículo en inglés: How to: Configure Team Foundation Build for an Incremental Build

Espero que os haya sido de ayuda J.


Comments

October 24. 2008 12:02

Julio Trujillo

Post muy interesante. Oye una pregunta ¿sabes si hay manera de configurar builds para VB6? me imagino que todo el proceso sería válido a excepción de la invocación al compilador de VB.NET que sería sustituida por VB6.

Julio Trujillo

October 24. 2008 12:15

Luis Fraile

Lo que tendrías que hacer es una tarea post-build. Aunque ya hay alguien que la ha hecho, yo no la he probado, si quieres pegarle un vistazo: http://freetodev.spaces.live.com/blog/cns!EC3C8F2028D842D5!261.entry

Luis Fraile

October 24. 2008 12:15

Luis Fraile

ups el link sale mal, copia y pega mejor

Luis Fraile

Comments are closed
Technology Blogs
Technology blogs