Utilizar la plantilla predeterminada para el proceso de compilación

La plantilla predeterminada (Icono de TFVC TfvcTemplate.12.xaml o Icono de Git GitTemplate.12.xaml) permite definir rápidamente un proceso básico que compile y pruebe el código. Tiene opciones para controlar la manera en que Team Foundation Build (TFBuild) compila el código y ejecuta las pruebas y otros procesos, como los scripts.

Primeros pasos

  1. (Opcional) Antes de crear una nueva definición de compilación, desde la página principal de Team Explorer (teclado: Ctrl + 0, H), abra la solución que desea compilar para especificarla automáticamente en el cuadro Proyectos.

  2. En Team Explorer, asegúrese de que está conectado al proyecto de equipo (teclado: Ctrl + 0, C) y después abra la página Compilaciones (teclado: Ctrl + 0, B).

  3. Elija el vínculo Definición de nueva compilación o seleccione una compilación, abra el menú contextual y elija Editar definición de compilación.

    Sugerencia

    Si aparece un mensaje de error TF225001, configure un controlador de compilación.

  4. En la pestaña Proceso, en Plantilla de proceso de compilación, aparece seleccionada la plantilla de forma predeterminada.

    Proceso de compilación de la plantilla predeterminada

    Advertencia

    ¿Está conectado a un Icono de Git proyecto de equipo Git alojado en Visual Studio Online?¿No tiene los parámetros Invalidar desprotección y Proyectos?

    Parámetros de la plantilla predeterminada Git incorrecta

    Vea ¿Cómo me aseguro de que estoy utilizando la plantilla de proceso de compilación predeterminada de Git correcta en Visual Studio Online?

  5. Use la información que aparece más adelante en este tema para completar los campos que proporcionan la funcionalidad que desea incluir en esta definición de compilación.

  6. Cuando haya rellenado los campos de la pestaña Proceso, especifique las opciones del proceso de compilación de las otras pestañas.

    Para obtener más información, vea Crear o modificar una definición de compilación.

¿Qué desea hacer a continuación?

  • Obtener el código

  • Compilar el código

    • Especificar los proyectos que se van a compilar

    • Especificar las plataformas y las configuraciones que se van a compilar

    • Especificar las opciones de compilación

  • Probar el código y analizar el impacto en las pruebas

  • Ejecutar otros procesos durante la compilación

  • Controlar el modo en que los servidores ejecutan la compilación

    • Especificar los agentes de compilación que procesan la compilación

    • Especificar los límites de tiempo de los agentes de compilación

  • Controlar los resultados de la compilación

    • Especificar la ubicación de los resultados de la compilación

    • Hacer que los nombres de las compilaciones completadas resulten útiles para el equipo

    • Publicar símbolos de la compilación

    • Asociar y crear elementos de trabajo

    • Crear un elemento de trabajo tras un error

    • Etiquetar el código fuente

  • Obtener respuestas a preguntas comunes

Obtener el código

Puede establecer algunas opciones para determinar la manera en que el agente de compilación obtiene el código fuente que especificó en la pestaña Configuración de origen.

Si desea...

Establezca este parámetro…

Siguiendo estas pautas...

Especificar si se va a limpiar el área de trabajo o el repositorio Git en el agente de compilación antes de procesar la compilación

Icono de TFVC TFVC: Área de trabajo limpia

Icono de Git Git: Repositorio limpio

Seleccione True para eliminar todos los resultados y los archivos de código fuente existentes antes de que se procese la compilación. Use esta opción si desea que el proceso de compilación sea lo más exhaustivo posible a la hora de exponer los problemas del proceso de compilación.

Sugerencia

Si el proceso de compilación no requiere un área de trabajo ni un repositorio limpios, puede reducir significativamente el tiempo necesario para ejecutar la compilación si establece el valor de este parámetro en False.

Esta configuración no tiene efecto si se utiliza el controlador de compilación hospedado. En este caso, se obtiene un nuevo directorio de trabajo con cada compilación.

Compilar una versión concreta del código fuente

Icono de TFVC TFVC: Obtener versión

Icono de Git Git: Invalidar desprotección

TFVC: especifique el valor de versionspec que identifica la versión que desea compilar.

Git: especifique el identificador de bifurcación o de confirmación que desea desproteger.

Compilar el código

Puede usar MSBuild para compilar el código.

Especificar los proyectos que se van a compilar

En el cuadro Proyectos, en la sección Compilación, en la tabla Parámetros del proceso de compilación, puede especificar las soluciones o los proyectos de código que desea compilar. Debe especificar al menos una solución o un proyecto.

Si va a compilar varios proyectos relacionados, normalmente deberá agregarlos a una única solución y especificar esa solución en la celda Proyectos en lugar de especificar cada proyecto por separado.

En el cuadro Proyectos, puede elegir el botón de puntos suspensivos (...) para abrir el cuadro de diálogo Soluciones y proyectos y especificar en él las soluciones o los proyectos que se van a compilar.

Si desea rellenar manualmente el cuadro Proyectos para un proyecto de equipo TFVC, especifique la ruta de acceso de control de versiones completa de cada proyecto o solución que desee compilar. Se delimita cada valor con una coma, como se muestra en el ejemplo siguiente:

$/Features/FeatureA/Server/All Server Projects.sln, $/Features/FeatureA/Client/All Client Projects.sln

Importante

Si usa TFVC, asegúrese de que la ruta de acceso a cada proyecto o solución es un elemento secundario de uno de los valores de Carpeta de control de código fuente que aparecen en la pestaña Configuración de origen de la definición de compilación.Si usa Git, asegúrese de que el proyecto o la solución se encuentra en el repositorio Git, en una bifurcación que esté compilando.

Especificar las plataformas y las configuraciones que se van a compilar

En el cuadro Configuraciones, puede especificar las plataformas y las configuraciones que desea compilar. Por ejemplo, para especificar que en esta compilación únicamente debe compilarse la configuración de lanzamiento de la versión de 32 bits del proyecto de C++, escriba Release| x86 en este cuadro.

Sugerencia

Si el código base es grande, para aumentar significativamente la velocidad de procesamiento de la compilación, compile únicamente las configuraciones y plataformas que necesite.

Si deja vacío el cuadro Configuraciones, se compilan la configuración y la plataforma predeterminadas que se definen en cada solución o proyecto.

En el cuadro Configuraciones, puede elegir el botón de puntos suspensivos (...) para abrir el cuadro de diálogo Configuraciones y especificar en él los elementos que se van a compilar. También puede especificarlos manualmente.

Todas las configuraciones del cuadro Configuraciones deben tener el formato siguiente:

Configuración|Plataforma

Debe reemplazar los siguientes marcadores de posición:

  • Configuration es un valor como Debug, Release o All Configurations.

  • Platform es un valor como Win32, x86, x64 o Any CPU.

Las configuraciones de la lista deben delimitarse con comas.

Por ejemplo, si desea compilar las configuraciones Debug y Release del proyecto de C#, especifique Debug|Any CPU, Release|Any CPU en el cuadro Configuraciones.

Los tokens que se usan para la configuración y la plataforma deben coincidir con los tokens que se definen en las propiedades de la solución o del proyecto de código. Si no coinciden, es posible que se produzcan resultados inesperados cuando se complete la compilación.

Nota

Si compila proyectos de código individuales en lugar de un archivo de solución y desea especificar Any CPU como plataforma, debe especificarlo como AnyCPU en lugar de como Any CPU.

Especificar las opciones de compilación

Puede controlar varias opciones de compilación.

Si desea...

Establezca este parámetro…

Siguiendo estas pautas...

Controlar si desea volver a compilar

Compilar, Compilación limpia

Establézcalo en True si desea recompilar todo el código de los proyectos de código. Esto equivale a MSBuild /target:clean. Esta opción no tendrá ningún efecto práctico si no establece también Repositorio limpio en False.

Sugerencia

Para reducir de manera significativa el tiempo requerido para compilar códigos base de gran tamaño, establezca esta opción en False.

Validar el código con diagramas en capas

Compilar, Avanzadas, Argumentos de MSBuild

Incluya la siguiente cadena en este valor de parámetro: /:pValidateArchitecture=true.

Para obtener más información, vea Validar código con diagramas de capas.

Especificar los argumentos de la línea de comandos que se pasan a MSBuild

Compilar, Avanzadas, Argumentos de MSBuild

Si el proceso de compilación requiere que se pasen argumentos a MSBuild, escríbalos en el parámetro Argumentos de MSBuild. Para obtener más información, vea Referencia de la línea de comandos de MSBuild.

Especificar el valor de bits de la versión de MSBuild que se usa para procesar la compilación

Compilar, Avanzadas, Plataforma de MSBuild

Especifique uno de los siguientes valores:

  • Especifique Auto si desea ejecutar MSBuild en el mismo valor de bits de CPU de Servicio de Team Foundation Build que está instalada en el agente de compilación.

  • Especifique X86 para procesar siempre esta compilación con la versión de 32 bits de MSBuild.

    Dado que Visual Studio se ejecuta como una aplicación de 32 bits, puede experimentar problemas si la compilación la procesa un agente de compilación que está ejecutando la versión de 64 bits de Servicio de Team Foundation Build. Si especifica X86, puede resolver este tipo de problemas.

Si especifica este valor, debería asegurarse (usando, por ejemplo, una etiqueta como la que se explicó al comienzo de este tema) de que la compilación la procesa un agente de compilación que está hospedado en una máquina de compilación de 64 bits. De lo contrario, la compilación no se realizará correctamente.

Ejecutar otros procesos

Puede ejecutar otros procesos durante la compilación.

Realizar análisis de código

Para encontrar defectos comunes durante la compilación, puede analizar el código. Establezca el parámetro Realizar análisis de código en los parámetros de compilación avanzados.

  • Seleccione Según configuración para analizar cada uno de los proyectos de código en los que esta característica está habilitada.

  • Seleccione Siempre para analizar cada proyecto de código con independencia de si esta característica está habilitada en los proyectos de código.

  • Seleccione Nunca para omitir el análisis de código.

Para obtener más información, consulte uno de los temas siguientes:

Controlar el modo en que los servidores ejecutan la compilación

Puede controlar la manera en que los servidores de compilación ejecutan la compilación

Especificar los agentes de compilación que procesan la compilación

Para especificar qué agentes de compilación se usan para procesar la compilación, expanda el nodo Avanzadas, expanda el nodo Configuración del agente y, a continuación, especifique valores para los siguientes parámetros:

  • Filtro de nombres: puede filtrar los agentes de compilación que se usan para procesar esta definición de compilación escribiendo el nombre del agente en este campo. También puede especificar un conjunto de nombres mediante los caracteres comodín * y ? Por ejemplo, puede escribir CI* para especificar cualquier agente cuyo nombre comience por los caracteres CI. Algunos de los agentes que coinciden con este criterio son CI, CI1 o CI_Agent2.

  • Filtro de etiquetas: especifique una o varias etiquetas para asegurarse de que esta compilación la ejecutarán únicamente los agentes de compilación que tengan etiquetas que coincidan. Aplique normalmente las etiquetas a algunos agentes de compilación para reservarlos para fines especiales. Por ejemplo, puede configurar un agente de compilación en una máquina de compilación diseñada para procesar las compilaciones de protección controlada. Puede aplicar la etiqueta "gated" a este agente de compilación. Por último, puede aplicar la etiqueta "gated" a la definición de compilación para que únicamente pueda procesarla el agente que tenga también esta etiqueta. Para especificar etiquetas, elija el botón de puntos suspensivos (...).

    Nota

    El grupo de agentes de compilación disponibles para procesar esta compilación viene determinado por el controlador de compilación especificado para esta definición de compilación.Para modificar el controlador de compilación, haga clic en la pestaña Valores predeterminados de compilación, abra el menú Controlador de compilación y, a continuación, elija un controlador de compilación.

  • Operador de comparación de etiquetas: en el menú, elija uno de los siguientes valores:

    • MatchExactly: elija este valor si desea que esta definición de compilación la procesen solo los agentes de compilación que tengan exactamente el mismo conjunto de etiquetas que especificó en el cuadro Filtro de etiquetas. Si no especifica ninguna etiqueta, cualquier agente puede procesar esta definición de compilación.

      Sugerencia

      Si elige MatchExactly, se restringen los agentes disponibles para esta definición de compilación a aquellos cuyo conjunto de etiquetas es idéntico al especificado en el campo Filtro de etiquetas.

    • MatchAtLeast: elija este valor si desea que esta definición de compilación la procese cualquier agente de compilación que tenga al menos el mismo conjunto de etiquetas que especificó en el cuadro de Filtro de etiquetas. Si no especifica ninguna etiqueta, solo los agentes que no tienen etiquetas pueden procesar esta definición de compilación.

Especificar los límites de tiempo de los agentes de compilación

Para especificar los límites de tiempo, expanda el nodo Advanced, expanda el nodo Agent Settings y, a continuación, especifique los parámetros de la tabla siguiente.

Si desea...

Establezca este parámetro…

Siguiendo estas pautas...

Especificar el tiempo máximo permitido para que el agente de compilación procese la compilación

Tiempo máximo de ejecución

Especifique un intervalo de tiempo con el formato hh:mm:ss. Por ejemplo, se producirá un error de tiempo de espera en la compilación si especifica un valor de 04:30:15 y el agente de compilación no ha completado su trabajo después de 4 horas, 30 minutos y 15 segundos. Especifique el valor 00:00:00 si desea que el agente de compilación tenga tiempo ilimitado para procesar la compilación.

Especificar el tiempo máximo permitido para asignar la solicitud de compilación a un agente de compilación

Tiempo máximo de espera

Especifique un intervalo de tiempo con el formato hh:mm:ss. Por ejemplo, se producirá un error de tiempo de espera en la compilación si especifica un valor de 01:30:45 y la compilación no se asigna a ningún agente de compilación después de 1 hora, 30 minutos y 45 segundos. Especifique el valor 00:00:00 si desea que el controlador de compilación tenga tiempo ilimitado para encontrar un agente de compilación que procese esta definición de compilación.

Controlar los resultados de la compilación

Especificar la ubicación de los resultados de la compilación

Para controlar el lugar en el que TFBuild coloca los resultados de la compilación, elija:

  • SingleFolder para colocar juntos todos los archivos de salida de la compilación en la carpeta de entrega.

  • PerProject para agrupar los resultados de la compilación en subcarpetas de la carpeta de entrega para cada solución o proyecto de código especificado en el cuadro Proyectos.

  • AsConfigured para dejar los archivos binarios en la carpeta de orígenes de agentes de compilación, organizados en la misma estructura de subcarpetas que se ve al compilar el código en el equipo de desarrollo en Visual Studio. Esta estructura se define en los proyectos de código.

    Si usa esta opción, TFBuild no copiará los resultados en la carpeta de entrega. En su lugar, puede programar los scripts para que copien los resultados en la ubicación especificada por TF_BUILD_BINARIESDIRECTORY, de modo que se coloquen en la ubicación de ensayo. Vea los scripts posteriores a la compilación o los scripts posteriores a la prueba.

Hacer que los nombres de las compilaciones completadas resulten útiles para el equipo

Usted y su equipo pueden usar Avanzadas, Formato del número de compilación para cargar datos útiles en el nombre de cada compilación completada. Si desea saber cuáles son los valores válidos para este parámetro, vea Utilizar números de compilación para dar nombres significativos a las compilaciones completadas.

Publicar símbolos de la compilación

Especifique el parámetro Ruta de acceso para publicar símbolos para indizar y publicar datos de símbolos y habilitar características como la depuración histórica. Vea Indizar y publicar datos de símbolos.

Asociar conjuntos de cambios, confirmaciones y elementos de trabajo

El proceso de compilación vincula automáticamente cada compilación completada con todos los conjuntos de cambios o confirmaciones que se incluyeron en el código, así como con sus elementos de trabajo asociados. No puede deshabilitar este comportamiento, pero en Avanzadas puede decidir si desea o no Actualizar elementos de trabajo con número de compilación; para ello deberá seleccionar True o False.

¿Cómo determina el proceso de compilación cuándo debe asociar conjuntos de cambios, confirmaciones y elementos de trabajo?

Crear un elemento de trabajo tras un error

En Avanzadas, Crear elemento de trabajo tras error, seleccione True si desea que, tras producirse un error en la compilación, el proceso de compilación cree un error y lo asigne a la persona que Icono de TFVC protegió el conjunto de cambios de TFVC o Icono de Git insertó la confirmación de Git.

Etiquetar el código fuente

En Icono de TFVC Control de versiones de TF, Etiquetar orígenes, seleccione True si desea marcar automáticamente con una etiqueta cada archivo de código fuente para que el equipo pueda identificar fácilmente la versión de cada archivo que está incluida en la compilación completada. Este valor no se aplica a los Icono de Git proyectos de equipo Git.

Para obtener información sobre el modo en que TFBuild determina la versión que se va a etiquetar, consulte ¿Era buena esa compilación?

Preguntas y respuestas

¿Cómo me aseguro de que estoy utilizando la plantilla de proceso de compilación predeterminada de Git correcta en Visual Studio Online?

¿Está conectado a un Icono de Git proyecto de equipo Git alojado en Visual Studio Online? ¿No tiene los parámetros Invalidar desprotección y Proyectos?

Cuándo muestra los detalles, ¿aparece Plantilla predeterminada (GitTemplate.xaml)?

Plantilla predeterminada Git incorrecta

Si es así, seleccione GitTemplate.12.xaml. A continuación, aparecerán el parámetro Invalidar desprotección y el botón para examinar en el parámetro Proyectos.

Plantilla predeterminada Git correcta

P: ¿Cómo determina el proceso de compilación cuándo debe asociar conjuntos de cambios, confirmaciones y elementos de trabajo?

R: Cada definición de compilación mantiene su propio registro sobre qué conjuntos de cambios (TFVC), confirmaciones (Git) y elementos de trabajo están a la espera de asociarse con la siguiente compilación completada.

Por ejemplo, el conjunto de cambios 382 se compila tanto en la Compilación A como en la Compilación B. La Compilación A se pone en cola y se completa correctamente. La Compilación B se pone en cola y no se realiza correctamente. El conjunto de cambios 382 está vinculado ahora con la compilación completada correctamente de la Compilación A y la compilación completada con errores de la Compilación B. El conjunto de cambios 382 no se va a vincular a la siguiente compilación completada de la Compilación A, aunque se vinculará a la siguiente compilación completada de la Compilación B.

Para obtener información sobre el modo en que TFBuild determina la versión que se va a asociar, consulte ¿Era buena esa compilación?

P: Necesito que mi proceso de compilación haga otras cosas.¿Cómo puedo personalizarlo?

R: Personalizar el proceso