Configurar Team Foundation Build para compilación incremental
En este tema se describe cómo definir una compilación incremental mediante la Plantilla de actualización. Para obtener más información sobre la Plantilla de actualización, vea Definir una compilación con la plantilla de actualización. Puede realizar este procedimiento más fácilmente mediante la Plantilla predeterminada. Para obtener más información, vea Definir una compilación con la plantilla predeterminada.
Una compilación incremental reutiliza los resultados de una compilación anterior mantenida por Team Foundation Build para realizar una compilación optimizada basada en los cambios que han tenido lugar desde la última compilació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 completar esta tarea, asegúrese de que tiene lo siguiente:
Acceso al archivo TFSBuild.proj del tipo de compilació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 Crear una definición de compilación básica.
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 Crear un archivo de área de trabajo y obtener archivos y Obtener el código fuente para el proyecto de equipo.
Sugerencia |
---|
También puede hacer que una compilación se ejecute incrementalmente al ponerla en cola mediante la inclusión de la cadena siguiente en el parámetro de Argumentos de MSBuild: /p:IncrementalBuild=true. Para obtener más información, vea Poner en cola una compilación. |
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 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>.
<PropertyGroup> <IncrementalBuild>true</IncrementalBuild> </PropertyGroup>