Cómo: Configurar Team Foundation Build para una compilación incremental
Actualización: noviembre 2007
Una generación incremental reutiliza los resultados de una generación anterior mantenidos por Team Foundation Build para realizar una generación optimizada basada en los cambios que han tenido lugar desde la última generación.
Después de crear una definición de compilación para las compilaciones incrementales, ejecute la primera compilación. De esta forma se crea el área de trabajo necesaria y se obtienen todos los archivos de código fuente en el equipo de generación.
Requisitos previos
Antes de realizar esta tarea, debe tener lo siguiente:
Acceso al archivo TFSBuild.proj del tipo de generación que desea personalizar.
Cada definición de compilación de equipo tiene un archivo TFSBuild.proj asociado ubicado en la carpeta $/miProyectoDeEquipo/TeamBuildTypes/nombreDeCompilación en Control de versiones de Team Foundation. miProyectoDeEquipo es el nombre del proyecto de equipo. Es el nodo raíz de todos los orígenes del proyecto de equipo. nombreDeCompilación es el nombre que asignó al tipo de compilación. Para obtener más información sobre cómo crear tipos de generación de Team Foundation Build, vea Cómo: Crear una definición de compilación.
Un área de trabajo local que contenga los archivos del proyecto de equipo y los archivos de generación en el equipo local.
Para obtener más información, vea Cómo: Crear un área de trabajo asignada y Cómo: Obtener el código fuente para el proyecto de equipo.
Permisos necesarios
Para completar esta tarea, debe tener los permisos Administrar una compilación y Administrar áreas de trabajo establecidos en Permitir. También debe tener los permisos Desproteger y Proteger establecidos en Permitir. Para obtener más información, vea Permisos de Team Foundation Server.
Obtener una copia local del archivo TFSBuild.proj
Antes de cambiar el archivo TFSBuild.proj que establece la definición de compilación, debe obtener una copia local.
Para obtener una copia local del archivo TFSBuild.proj
En el menú Ver, seleccione Otras ventanas y, a continuación, Explorador de control de código fuente.
En el Explorador de control de código fuente, haga clic en Áreas de trabajo en la barra de herramientas y elija su área de trabajo en la lista.
Abra una carpeta de proyecto de equipo que contenga el tipo de generación y después expanda la carpeta TeamBuildTypes.
Haga clic con el botón secundario en el archivo TFSBuild.proj y seleccione Obtener la última versión para copiar la última versión del archivo.
Para obtener más información, vea Cómo: Obtener el código fuente para el proyecto de equipo.
Establecer propiedades en el archivo TFSBuild.proj
Para especificar una compilación incremental, debe establecer la propiedad IncrementalBuild en el archivo TFSBuild.proj.
Para establecer las propiedades en el archivo TFSBuild.proj
IncrementalBuild es una propiedad útil que establece SkipClean en true, SkipInitializeWorkspace en true y ForceGet en false.
Cuando Team Foundation Build realiza una generación completa, limpia los archivos de la carpeta de generación intermedia y de la carpeta de orígenes en el destino Clean. En una generación incremental, este destino se debe omitir porque estos archivos deben estar intactos para la generación siguiente. Para ello, SkipClean se establece en true.
Como parte de una compilación completa, Team Foundation Build elimina el área de trabajo anterior y vuelve a crear una nueva para limpiar y sincronizar los archivos de código fuente. En una generación incremental, este destino también se debe omitir. Para ello, SkipInitializeWorkspace se establece en true.
En la tarea Get, Team Foundation Build recupera de forma predeterminada los nuevos archivos de código fuente y sobrescribe los archivos existentes en el área de trabajo de compilación. Para recuperar sólo los archivos modificados, la propiedad ForceGet se establece en false.
Para establecer la propiedad IncrementalBuild en true, agregue la definición PropertyGroup al final del archivo TFSBuild.proj, delante de la etiqueta de cierre </project>.
</ItemGroup> <PropertyGroup> <IncrementalBuild>true</IncrementalBuild> </PropertyGroup> </Project>
Vea también
Tareas
Tutorial: Personalizar Team Foundation Build con una tarea personalizada
Conceptos
Destinos personalizables de Team Foundation Build
Enviar cambios al servidor del control de versiones