Utilizar un proceso de compilación de protección controlada para validar cambios

Cuando un desarrollador protege cambios que interrumpen la compilación, el resultado puede ser una gran molestia para los equipos pequeños. En los equipos grandes, el costo puede ser aún mayor en lo que se refiere a productividad y retrasos. Puede proteger una parte o todo el código base de este problema creando una definición de compilación de protección controlada.

Nota

Las compilaciones de protección controlada solo están disponibles en Icono de TFVC proyectos de equipo de TFVC.No están disponibles en Icono de Git proyectos de equipo de Git.

¿Qué desea hacer?

  • Entender cómo afectan a su equipo las compilaciones de protección controlada

  • Definir un proceso de compilación de protección controlada

  • Instrucciones para mejorar la función y el rendimiento del proceso de compilación

  • Evitar bloqueos del equipo

  • Ejecutar manualmente compilaciones de protección controlada y compilaciones privadas

Cómo afectan a su equipo las compilaciones de protección controlada

Si el equipo establece un proceso de compilación de protección controlada, los cambios que los desarrolladores envían se colocan en conjuntos, se compilan automáticamente y, posiblemente, se prueban en el sistema de compilación.

Cuadro de diálogo Protección controlada

La compilación debe producirse correctamente para que pueda completarse el proceso de protección. Para obtener más información, vea Proteger los cambios pendientes controlados por una compilación de protección controlada.

Si es necesario que algunos usuarios omitan la protección controlada, puede establecer el permiso Reemplazar validación de protección por compilación en Permitir para un grupo de usuarios. Para obtener más información, vea Referencia de permisos para Team Foundation Server.

Definir un proceso de compilación de protección controlada

  1. 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).

  2. 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.

  3. En la pestaña Desencadenador:

    • Elija Protección controlada.

    • (Opcional) Para aumentar la eficiencia del proceso de compilación, seleccione Combinar y compilar hasta n envíos Para obtener más información, vea Evitar bloqueos del equipo.

  4. En la pestaña Configuración de origen, en la tabla Carpetas de trabajo, asigne a carpetas locales del agente de compilación las carpetas de control de versiones que esta definición de compilación va a controlar.

    Sugerencia

    Siga estas instrucciones:

    • Para asegurarse de que el proceso de compilación funciona correctamente y mejorar el rendimiento, incluya única y exclusivamente todas las carpetas que contengan los archivos que el proceso de compilación requiere.

    • Asegúrese de que no especifica ninguna carpeta de control de versiones que también esté especificada en la pestaña Área de trabajo de otra definición de compilación de protección controlada.De lo contrario, cuando un usuario proteja los archivos de esas carpetas, el sistema le obligará a decidir qué definición de compilación se va a poner en cola.

    • Para obtener más información acerca de cómo especificar estas asignaciones, vea Trabajar con áreas de trabajo de compilación.

  5. Para mejorar el rendimiento, en la pestaña Valores predeterminados de compilación, elija Esta compilación no copia los archivos de salida en una carpeta de entrega.

  6. En la pestaña Proceso, en Compilación, en el parámetro Proyectos, especifique las soluciones o los proyectos de código que desea compilar.

  7. En la pestaña Proceso, establezca los parámetros para asegurarse de que las protecciones cumplen los estándares de calidad de código específicos del equipo sin retrasar a los desarrolladores innecesariamente.

    Para obtener más información, vea Mejorar la función y el rendimiento del proceso de compilación más adelante en este tema.

  8. 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.

Mejorar la función y el rendimiento del proceso de compilación

Para minimizar el tiempo necesario para procesar la compilación, debería seguir estas instrucciones al especificar los valores de los parámetros del proceso de compilación en la pestaña Proceso.

Control de versiones de TF o Git

  • Área de trabajo limpia o Repositorio limpio: para mejorar el rendimiento, establezca este valor en False. Esta configuración podría hacer que el equipo pasara por alto algunos tipos de defectos, como los introducidos durante la refactorización.

Compilar

  • Configuraciones: si deja este parámetro vacío, se usa la plataforma y la configuración predeterminadas para cada solución y proyecto. Para optimizar el rendimiento, siga estas instrucciones:

    • Si un par de configuración y plataforma se compila más rápidamente que otros pares, especifíquelo en este parámetro.

    • Especifique los menos pares de configuración y plataforma posibles.

  • Compilación limpia: para mejorar el rendimiento, establezca este parámetro en False. Esta configuración podría hacer que el equipo pasara por alto algunos tipos de defectos, como los introducidos durante la refactorización.

Compilar, Avanzadas

  • Realizar análisis de código: para mejorar el rendimiento, establezca este valor en Nunca.

Probar, Avanzadas

  • Deshabilitar pruebas:

    • Para mejorar el rendimiento, seleccione True.

    • Si el código debe superar ciertas pruebas, seleccione False y, a continuación, defina un conjunto de pruebas para que se ejecuten en la compilación. Para mejorar el rendimiento, ejecute solo las pruebas necesarias. Para designar esas pruebas, fíltrelas por categoría o prioridad. Para obtener más información, vea Ejecutar pruebas en el proceso de compilación.

Publicar símbolos

  • Ruta de acceso para publicar símbolos: para mejorar el rendimiento, deje este valor vacío.

Avanzado

  • Configuración del agente

    • Filtro de nombres o Filtro de etiquetas: utilice un nombre de agente de compilación o una etiqueta para enlazar esta definición de compilación con un agente de compilación diseñado específicamente para ejecutar esta compilación. El agente de compilación se debe ejecutar en un equipo de compilación cuyo hardware tenga la potencia suficiente para procesar esta compilación con la rapidez necesaria como para satisfacer las expectativas de rendimiento del equipo.

      Por ejemplo, los desarrolladores del equipo podrían tolerar una espera de 15 minutos para la finalización de la compilación, aunque no es muy probable que estuvieran dispuestos a esperar ocho horas antes de poder determinar si el código se ha protegido correctamente.

    • Tiempo máximo de ejecución: establezca este valor en un número razonablemente pequeño. Por ejemplo, 15 minutos podría ser un tiempo razonable para el equipo, pero ocho horas sería probablemente demasiado tiempo.

Para obtener más información sobre los parámetros del proceso de compilación de la plantilla predeterminada, vea Utilizar la plantilla predeterminada para el proceso de compilación.

Evitar bloqueos del equipo

Cada definición de compilación de protección controlada solo puede tener una compilación ejecutándose a la vez. Por consiguiente, los equipos grandes y activos es más probable que desarrollen una gran cola de compilaciones de protección controlada. Los siguientes procedimientos recomendados pueden ayudar a su equipo a evitar que se bloquee el progreso:

  • Para aumentar la eficiencia del proceso de compilación, en la pestaña Desencadenador seleccione la opción Combinar y compilar hasta n envíos y especifique el número máximo de entradas que desea compilar juntas en cualquier lote especificado. En general, no hay riesgo de que haya mucha interrupción mediante esta opción. Cada protección se confirma o rechaza individualmente.

    Por ejemplo, si tres protecciones se compilan juntas en un lote y la compilación no tiene éxito, el sistema pone en cola compilaciones individuales de las tres protecciones.

    Sin embargo, esta opción presenta algunos riesgos, como que una protección interfiera con las otras. Esto puede suceder, por ejemplo, si varias protecciones modifican el mismo archivo y se produce un conflicto de control de versiones. En este caso, se confirma la protección más antigua y se rechazan las protecciones posteriores.

  • Defina la compilación para que el agente de compilación haga solo el trabajo necesario para validar la calidad del código que se protege. Para obtener más información, vea Instrucciones para los valores de la pestaña Proceso anteriormente en este tema.

  • Dedique un equipo de compilación que tenga un hardware eficaz (por ejemplo, un procesador y un disco duro rápidos) al agente de compilación que usa la definición de compilación de protección controlada.

Ejecutar manualmente compilaciones de protección controlada y compilaciones privadas

Los desarrolladores que estén seguros de los cambios que están protegiendo pueden poner en cola manualmente una compilación de un conjunto de cambios aplazados. Si usan este enfoque, pueden especificar una de dos opciones para lo que el sistema debe hacer si la compilación tiene éxito:

  • El sistema protege los cambios (compilación de protección controlada manualmente): esta opción puede ser útil para los equipos en los que no quiere hacer obligatoria la protección controlada pero sí desea permitir a los programadores que puedan validar voluntariamente el código antes de protegerlo.

  • El sistema no protege los cambios (compilación privada): los desarrolladores pueden utilizar esta opción si desean validar algunos cambios en un conjunto de cambios aplazados pero no desean protegerlos.

Para obtener más información, vea Poner en cola una compilación.