MSDN Library
Collapse the table of content
Expand the table of content
Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés

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.

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

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 Configurar una compilación de integración continua.

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.

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.

Si define una compilación con el desencadenador Integración continua, la compilación se pone en cola cada vez que un miembro del equipo protege 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.

Si define una compilación con el desencadenador 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 completa la compilación y coloca en la cola otra compilación de todas las protecciones que aún no se han compilado. También puede limitar 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 solo agente de compilación y podría finalizar la compilación cada 20 minutos. Si utiliza el desencadenador Integración continua y el equipo protege el código nueve veces entre las 10 a. m. y las 11 a. m., es posible que la última protección no se pueda compilar hasta la 1 p. m. Sin embargo, si utiliza el desencadenador Compilaciones graduales y especifica 60 minutos como intervalo, el mismo conjunto de protecciones podría estar compilado a las 11:20 a. m.

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.

Puede utilizar este desencadenador solo en un TFVC iconproyecto de equipo de TFVC; no está disponible en los Git iconproyectos de equipo de Git.

Si define una compilación con el desencadenador Protección controlada, los cambios que un miembro del equipo envíe al sistema de control de versiones se colocarán en un conjunto de cambios aplazados y se pondrán en cola para compilarlos. 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 Utilizar 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.

Si define una compilación con el desencadenador Programar y desactiva la casilla Compilar incluso si no ha cambiado nada desde la compilación anterior, la compilación se pondrá en cola los días y horas que especifique siempre que se hayan protegido 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.

Sugerencia Sugerencia

Si está desarrollando una plantilla de proceso de compilación personalizada y selecciona Schedule como valor de la propiedad Reason de una sección InvokeForReason de la plantilla, en la mayoría de los casos probablemente deberá seleccionar también ScheduleForced.

Si define una compilación con el desencadenador Programar y activa la casilla Compilar incluso si no ha cambiado nada desde la compilación anterior, la compilación se pondrá en cola 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.

Sugerencia Sugerencia

Si está desarrollando una plantilla de proceso de compilación personalizada y selecciona ScheduleForced como valor de la propiedad Reason de una sección InvokeForReason de la plantilla, en la mayoría de los casos probablemente deberá seleccionar también Schedule.

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.

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.

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.

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 Extensión de Team Foundation: 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 o modificar 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 Actividades de Team Foundation Build: InvokeForReason.

Adiciones de comunidad

Mostrar:
© 2016 Microsoft