Definir una compilación de entrada validad para validar los cambios

Cuando un desarrollador protege cambios que interrumpen la compilación, el resultado puede ser una gran molestia para los equipos pequeños. El costo para los equipos grandes puede ser caro si se tiene en cuenta la pérdida de productividad y los retrasos de la programación.

Puede crear una definición de compilación de protección controlada para proteger de este problema una parte del código base o su totalidad.

En este tema

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

  • Definir una compilación de protección controlada

  • Instrucciones para los valores de la pestaña Proceso

  • Cómo se ejecutan compilaciones de protección controlada

    • Ejecutar automáticamente compilaciones de protección controlada

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

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

Cuando se crea una compilación de protección controlada, los cambios que envía el desarrollador se colocan en un conjunto de cambios aplazados y se integran automáticamente en el sistema de compilación. 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 algunos usuarios de su equipo deben omitir 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 Permisos de Team Foundation Server.

Definir una compilación de protección controlada

Permisos necesarios

Para realizar este procedimiento, debe tener establecido el permiso Editar definición de compilación en Permitir. Para obtener más información, vea Permisos de Team Foundation Server.

Para definir una compilación de protección controlada

  1. En Team Explorer, haga clic en un proyecto de equipo.

  2. En el menú Generar, haga clic en Definición de nueva compilación.

    Se muestra la ventana Nueva definición de compilación con la pestaña General presentada.

  3. En el cuadro Nombre de definición de compilación, escriba un nombre.

  4. En la pestaña Desencadenador, haga clic en Protección controlada: aceptar protecciones solo si los cambios enviados se combinan y compilan correctamente.

  5. Haga clic en la ficha Área de trabajo.

    Aparece la tabla Carpetas de trabajo. Esta tabla asigna las carpetas del control de versiones que esta definición de compilación controlará a las carpetas locales del agente de compilación. Para obtener más información, vea Eliminar una compilación completada.

    SugerenciaSugerencia

    Asegúrese de que la carpeta de control de versiones que especifique para esta definición no esté especificada en la pestaña Área de trabajo de otras definiciones de compilación de protección controlada. De lo contrario, cuando una persona proteja archivos en estas carpetas, el sistema exigirá que decida qué definición de compilación desea poner en cola.

  6. Haga clic en la pestaña Proceso y, a continuación, establezca los parámetros del proceso de compilación de forma que se asegure de que las protecciones satisfacen las normas de calidad de código específicas de su equipo.

    En el caso de un código base extenso producido por un equipo grande, debe equilibrar este objetivo de validar la calidad del código con el objetivo de evitar retrasos innecesarios a los desarrolladores. Para obtener más información, vea Instrucciones para los valores de la pestaña Proceso más adelante en este tema.

  7. Haga clic en las pestañas Valores predeterminados de compilación y Directiva de retención y aplique la configuración apropiada en cada pestaña.

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

Instrucciones para los valores de la pestaña Proceso

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.

Nodo Required

  • Elementos para compilar, Configuraciones para compilar: 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.

Nodo Basic

  • Pruebas automatizadas: si el código debe superar ciertas pruebas para ser válido, configure una ejecución de pruebas para hacer estas pruebas. Al preparar la ejecución de pruebas, asegúrese de que filtra por categorías o prioridad para que solo ejecute las pruebas que más necesita. Para obtener más información, vea Definir una compilación con la plantilla predeterminada.

  • Limpiar área de trabajo: establezca este valor en Ninguno (recomendado) o en Resultados. Sin embargo, existe una mayor probabilidad de que no se detecten algunos tipos de defectos si el área de trabajo no está limpia. Para obtener más información, vea Definir una compilación con la plantilla predeterminada.

  • Realizar análisis de código: Establezca este valor en Nunca.

  • Configuración de orígenes y del servidor de símbolos, Indizar orígenes: establezca este valor en False.

Nodo Advanced

  • 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 eficacia suficiente para procesar esta compilación con la rapidez necesaria 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. Pero es probable que no acepten tener que esperar ocho horas para poder determinar si su código se ha protegido correctamente.

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

  • Copiar resultados en carpeta de entrega: el sistema toma este valor como False, aun cuando se establezca en True.

  • Crear elemento de trabajo tras error: el sistema toma este valor como False, aun cuando se establezca en True.

  • Etiquetar orígenes: Establezca este valor en False.

Para obtener más información sobre cómo establecer los valores de los parámetros del proceso de compilación, vea Definir una compilación con la plantilla predeterminada.

Cómo se ejecutan compilaciones de protección controlada

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:

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

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

Las compilaciones de protección controlada se pueden ejecutar automática o manualmente.

Ejecutar automáticamente compilaciones de protección controlada

Una compilación de protección controlada se ejecuta automáticamente cuando se produce uno de los dos eventos siguientes:

  • Se ha definido una compilación con la casilla Protección controlada activada en la pestaña Desencadenador de la definición de compilación.

  • Alguien intenta proteger uno o más cambios que intersecan con cualquiera de las carpetas asignadas en la pestaña Área de trabajo de la definición de compilación.

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 manual): esta opción puede ser útil para los desarrolladores que desean validar su código antes de proteger los cambios, pero que trabajan en un equipo que no utiliza el desencadenador de protección controlada.

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