Definir 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.El coste para equipos grandes puede ser caro si se tiene en cuenta la pérdida de productividad y los retrasos en la programación.Se puede proteger una parte o todo el código base de este problema creando una definición de compilación de comprobación controlada .

En este tema

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

  • Defina una compilación de comprobación controlada

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

  • Evite bloquear el equipo

  • Ejecute manualmente compilaciones de comprobación controlada y compilaciones privadas

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

Si se establece un proceso de compilación de comprobación controlada, los cambios que los desarrolladores envíen se colocan en conjuntos y automáticamente son compilados y posiblemente probados por su 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 algunos usuarios de su equipo deben omitir la comprobación controlada, se 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.

Defina una compilación de comprobació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:

    1. Si aún no está conectado al proyecto de equipo en el que desea trabajar, conéctese al mismo.

    2. Elija Icono de inicioInicio y luego eslija Icono de compilacionesCompilaciones.

    3. En la página Compilaciones, elija Definición de nueva compilación.

    Aparece una nueva ventana de definición de compilación.

  2. En la pestaña Desencadenador:

    • Elija Comprobación controlada.

    • (Opcional) Para aumentar la eficiencia del proceso de compilación, seleccione Combinar y construir hasta n envíos Para obtener más información, consulte Evite bloquear el equipo.

  3. En la pestaña Área de trabajo , en la tabla Carpetas de trabajo , asigne las carpetas de control de versiones que esta definición de compilación controlará a carpetas locales en el agente de compilación.

    SugerenciaSugerencia

    Siga estas instrucciones:

    • Para asegurarse de que su proceso de compilación funcione correctamente y mejorar el rendimiento, incluya todas las carpetas—y sólo estas carpetas—que contengan los archivos que requiere el proceso de compilación.

    • Asegúrese de que no se especifica ninguna carpeta de control de versiones que también se especifique en la pestaña Área de trabajo de otra definición de compilación de comprobación.De lo contrario, cuando una persona proteja archivos en estas carpetas, el sistema exigirá que se decida qué definición de compilación se desea poner en cola.

    • Para obtener más información acerca de cómo especificar estos archivos, consulte Trabajar con áreas de trabajo de compilación.

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

  5. En la pestaña Proceso , en Plantilla de proceso de compilación, la plantilla predeterminada está seleccionada de forma predeterminada.En el parámetro Elementos para compilar, especifique las soluciones o codifique los proyectos que se desean compilar.

  6. En la pestaña Proceso, establezca los parámetros para garantizar que las protecciones cumplen las normas específicas para la calidad codificada de su equipo sin retrasar a los desarrolladores innecesariamente.

    Para más información, consulte Instrucciones para mejorar la función y el rendimiento del proceso de compilación más adelante en este tema.

  7. Especifique las opciones de proceso en las otras pestañas.Para obtener más información, vea Crear una definición de compilación.

Instrucciones para 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.

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

  • Limpiar el área de trabajo: Para aumentar el rendimiento, establezca este valor en Ninguno (recomendado) o Resultados.Sin embargo, es más probable que el equipo no note algunos tipos de defectos, como los que aparecen durante la refactorización, si el área de trabajo no se limpia.Para obtener más información, vea Definir un proceso de compilación basado en la plantilla predeterminada.

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

  • Configuración del servidor de Origen y Símbolos, Indizar orígenes: Para aumentar el rendimiento, establezca este valor en Falso.

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 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.Pero no es probable que se desee esperar ocho horas antes de que se pueda 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.

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

  • Deshabilitar pruebas:

    • Para aumentar el rendimiento, seleccione Verdadero.

    • Si el código debe superar ciertas pruebas, seleccione Falso y, a continuación, defina un conjunto de pruebas para ejecutarse en la compilación.Se puede mejorar el rendimiento ejecutando sólo las pruebas necesarias.Para designar esas pruebas, filtrelas por categoría o prioridad.Para obtener más información, vea Ejecutar pruebas en el proceso de compilación.

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

Para obtener más información sobre cómo personalizar una plantilla del proceso de compilación, consulte Definir un proceso de compilación basado en la plantilla predeterminada.

Evite bloquear el 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 se desean compilar juntas en cualquier lote especificado.Normalmente, no hay riesgo de que haya mucha interrupción mediante esta opción.Cada comprobació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 comprobaciones.

    Sin embargo, esta opción presenta algunos riesgos de una comprobación que interfiere con otras.Esto puede suceder, por ejemplo, si varias comprobaciones modifican el mismo archivo y aparece un conflicto de control de versiones.En este caso, la comprobación anterior se confirma 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 comprobación controlada.

Ejecute manualmente compilaciones de comprobació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 comprueba los cambios (la compilación controlada manualmente): Esta opción puede ser útil para los equipos en los que no se desea exigir la comprobación controlada pero se desea permitir a los programadores validar voluntariamente el código antes de comprobarlo.

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