Especificar desencadenadores y razones de compilación

Puede poner en cola manualmente una compilación siempre que sea necesario, pero, en la mayoría de los casos, las necesidades del equipo se resuelven mejor con los procesos de compilación definidos con desencadenadores automáticos.Cuando se desencadena una compilación, una razón concreta se registra en la propiedad Reason.En este tema se describe y explica cómo usar todos los desencadenadores y razones de compilación disponibles cuando se desarrolla el proceso de compilación.

  • Usar desencadenadores de compilación para lograr los objetivos del equipo

    • Proteger al equipo de las interrupciones de la compilación

    • Mantener la calidad mediante la integración continua

    • Ejecutar BVT nocturnos para comprobar la calidad del producto

  • Usar desencadenadores de compilación automáticos

    • Usar el desencadenador de integración continua para poner en cola una compilación cuando se protege un cambio

    • Usar el desencadenador de compilaciones graduales para poner en cola una compilación cuando se protege un cambio, pero con límites para la frecuencia con la que se ejecuta una compilación

    • Usar el desencadenador de entrada validada para poner en cola una compilación cuando un miembro del equipo intenta proteger un cambio y bloquear el cambio si se produce un error en la compilación

    • Usar el desencadenador de programación para poner en cola una compilación a intervalos periódicos

  • Poner en cola manualmente una compilación

    • Poner en cola una compilación

    • Poner en cola una compilación privada

  • Usar código personalizado para poner en cola una compilación

  • Trabajar con los desencadenadores y las razones de compilación

Usar desencadenadores de compilación para lograr los objetivos del equipo

Hh190718.collapse_all(es-es,VS.110).gifProteger al equipo de las interrupciones de la compilación

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 usar el desencadenador de Protección controlada para proteger una parte o todo el código base contra este problema.

Hh190718.collapse_all(es-es,VS.110).gifMantener la calidad mediante la integración continua

La integración continua es el proceso de integrar el código en un repositorio compartido con tanta frecuencia como sea posible.Durante la integración del código, una interrupción de la compilación o un error de prueba pueden indicar sin demoras que hay un error en el código.Puede usar el desencadenador de integración continua para implementar la integración continua.El desencadenador de compilaciones graduales es similar al de integración continua y puede ser útil si el sistema de compilación no es suficientemente eficaz para ejecutar una compilación cada vez que ejecuta una protección.

El desencadenador de entrada validada puede actuar como un enfoque aún más riguroso para la integración continua.El desencadenador de integración continua avisa al equipo de problemas como las interrupciones de la compilación o los errores en las pruebas unitarias básicas, pero el desencadenador de entrada validada evita que se escriban estos tipos de problemas en el código base.

Para obtener más información sobre cómo usar el sistema de compilación para admitir la integración continua, vea Definir un proceso de compilación para compatibilidad con integración continuay Compilar e implementar de forma continua.

Hh190718.collapse_all(es-es,VS.110).gifEjecutar BVT nocturnos para comprobar la calidad del producto

Puede programar que se ejecuten pruebas periódicas para evaluar la calidad de la compilación.Estas pruebas suelen denominarse pruebas de comprobación de la compilación (BVT) o pruebas de humo.Suelen constar de un amplio conjunto de pruebas que se utilizan para comprobar las principales áreas de una aplicación en una compilación concreta.Puede usar el desencadenador de programación para implementar una ejecución nocturna de BVT.

Para obtener información sobre el desencadenador de programación, vea Usar el desencadenador de programación para poner en cola una compilación a intervalos periódicos.Para obtener más información acerca de cómo configurar un proceso BVT, vea Cómo: Configurar y ejecutar pruebas programadas después de compilar la aplicación.

Usar desencadenadores de compilación automáticos

Debe especificar un desencadenador de compilación para la definición de compilación.En la mayoría de los casos, es conveniente que el proceso de compilación se ejecute automáticamente.Puede seleccionar uno de los desencadenadores automáticos que se describen en esta sección.

Hh190718.collapse_all(es-es,VS.110).gifUsar el desencadenador de integración continua para poner en cola una compilación cuando se protege un cambio

Al definir una compilación con el desencadenador de integración continua, la compilación se pone en cola cada vez que un miembro del equipo verifica un cambio.El área de trabajo de la definición de compilación determina qué archivos desencadenan la definición de compilación.Para obtener más información sobre las áreas de trabajo de compilación, vea Trabajar con áreas de trabajo de compilación.

A las compilaciones desencadenadas por la integración continua se les asigna una propiedad Reason de IndividualCI.

Hh190718.collapse_all(es-es,VS.110).gifUtilice el desencadenador de compilaciones graduales para compilar múltiples protecciones juntas a intervalos regulares

Si define una compilación con el desencadenador de Compilaciones graduales, el sistema de compilación pone en cola una compilación de cada protección mientras la compilación no se ejecuta.Si la compilación se está ejecutando, el sistema espera hasta que se complete la compilación y se coloca en la cola de compilación de todas las protecciones que aún no se han compilado.Puede restringir aún más la frecuencia de las compilaciones si activa la casilla No compilar con una frecuencia superior an minutos y escribe un valor entero comprendido entre 0 y 2147483647.

Por ejemplo, podría tener un único agente de compilación y podría finalizar la compilación cada 20 minutos.Si utiliza el desencadenador de Integración continua y el equipo verifica el código nueve veces entre 10 y.. 11,..la protección última no se puede compilar hasta 1 P.M... Sin embargo, si utiliza el desencadenador de Compilaciones graduales y especifica 60 minutos como intervalo, el mismo conjunto de verificaciones se podría compilar a las 11:20..

El área de trabajo de la definición de compilación determina qué archivos desencadenan la definición de compilación.Para obtener más información sobre las áreas de trabajo de compilación, vea Trabajar con áreas de trabajo de compilación.

A las compilaciones desencadenadas por compilaciones graduales se les asigna la propiedad Reason de BatchedCI.

Hh190718.collapse_all(es-es,VS.110).gifUsar el desencadenador de entrada validada para poner en cola una compilación cuando un miembro del equipo intenta proteger un cambio y bloquear el cambio si se produce un error en la compilación

Al definir una compilación con el desencadenador de entrada validada, los cambios que un miembro del equipo envía al sistema de control de versiones se colocan en un conjunto de cambios aplazados y se ponen en la cola para su compilación.La compilación debe producirse correctamente para que pueda completarse el proceso de protección.El área de trabajo de la definición de compilación determina qué controla la definición de compilación.Para obtener más información sobre las áreas de trabajo de compilación, vea Trabajar con áreas de trabajo de compilación.

A las compilaciones desencadenadas por la entrada validada se les asigna una propiedad Reason de CheckInShelveset.

Para obtener más información sobre cómo implementar el desencadenador de entrada validada, vea Definir un proceso de compilación de protección controlada para validar cambios.Para obtener más información sobre cómo afecta al equipo este tipo de definición de compilación, vea Proteger los cambios pendientes controlados por una compilación de protección controlada.

Hh190718.collapse_all(es-es,VS.110).gifUsar el desencadenador de programación para poner en cola una compilación a intervalos periódicos

Hh190718.collapse_all(es-es,VS.110).gifDesencadenador de programación

Al definir una compilación con el desencadenador de programación y desactivar la casilla Compilar incluso si no ha cambiado nada desde la compilación anterior, se pone en cola una compilación en los días y horas que especifique si se han verificado los cambios desde la ejecución más reciente de esta definición de compilación.La compilación se pone en cola independientemente de si los cambios se asociaron a una última compilación válida.

A las compilaciones que se desencadenan de esta manera se les asigna una propiedad Reason de Schedule.

SugerenciaSugerencia

Si está desarrollando una plantilla de proceso de compilación personalizada y selecciona Schedule como valor de la propiedad Reason de una sección Limite las secciones del proceso de compilación según la causa (disparador) (actividad InvokeForReason) de la plantilla, en la mayoría de los casos probablemente debe seleccionar también ScheduleForced.

Hh190718.collapse_all(es-es,VS.110).gifDesencadenador de programación (razón: ScheduleForced)

Al definir una compilación con el desencadenador de programación y activar la casilla Compilar incluso si no ha cambiado nada desde la compilación anterior, la compilación se pone en cola en los días y horas que especifique.La compilación se pone en cola independientemente de si los cambios están protegidos.

A las compilaciones que se desencadenan de esta manera se les asigna una propiedad Reason de ScheduleForced.

SugerenciaSugerencia

Si está desarrollando una plantilla de proceso de compilación personalizada y selecciona ScheduleForced como valor de la propiedad Reason de una sección Limite las secciones del proceso de compilación según la causa (disparador) (actividad InvokeForReason) de la plantilla, en la mayoría de los casos probablemente debe seleccionar también Schedule.

Poner en cola manualmente una compilación

En algunas situaciones, puede tener un proceso de compilación que no desee ejecutar automáticamente.

  • Su definición de compilación puede no estar preparada para las ejecuciones automáticas porque todavía está en desarrollo.

  • Podría tener un proceso de compilación especial que desea ejecutar solo manualmente.

En estas situaciones, puede seleccionar el desencadenador Manual.La definición de compilación se ejecutará únicamente cuando un miembro del equipo la ponga en cola manualmente.

Hh190718.collapse_all(es-es,VS.110).gifPoner en cola una compilación

Puede poner en cola manualmente cualquier definición de compilación, aunque se haya definido con un desencadenador de compilación distinto de Manual.Cuando se pone en cola manualmente una compilación, Reason se establece en Manual.Para obtener más información sobre cómo poner en cola manualmente una compilación, vea Poner en cola una compilación.

Hh190718.collapse_all(es-es,VS.110).gifPoner en cola una compilación privada

Si desea compilar los cambios que ha colocado en un conjunto de cambios aplazados, puede usar una compilación privada (también conocida como "compilación relacionada") para validar los cambios en el código antes de protegerlo.Cuando se pone en cola manualmente una compilación privada, Reason se establece en ValidateShelveset.Para obtener más información sobre cómo poner en cola una compilación privada, vea Poner en cola una compilación.

Usar código personalizado para crear una compilación completada

Puede desarrollar código personalizado que crea una compilación completada si aprovecha las clases del espacio de nombres Microsoft.TeamFoundation.Build.Cuando una compilación se pone en cola de esta manera, Reason se establece en UserCreated.Para obtener más información, vea Extending Team Foundation: Build

Trabajar con los desencadenadores y las razones de compilación

Puede aprovechar los desencadenadores y las razones del proceso de compilación de las siguientes maneras:

  • Establezca el desencadenador para el proceso de compilación: en la definición de compilación, haga clic en la pestaña Desencadenador y, a continuación, seleccione el desencadenador que satisfaga mejor las necesidades del equipo.Para obtener más información acerca de cómo crear una definición de compilación, vea Crear una definición de compilación.

  • Defina qué razones de compilación acepta un proceso de compilación personalizado: puede usar la actividad InvokeForReason para incluir un segmento del proceso de compilación que desea ejecutar únicamente en las compilaciones que se han ejecutado por una razón determinada.Para obtener más información, vea Limite las secciones del proceso de compilación según la causa (disparador) (actividad InvokeForReason).