tutorial and tfs continuous-integration checkin

and - tfs build definition



Desventajas de un check-in cerrado en TFS (1)

El checkin cerrado es una forma de construcción de integración continua. En TFS, crea un conjunto de armarios que contiene el código que se está validando, luego ejecuta una compilación de ese código. Solo si el código se crea correctamente y pasan todas las pruebas de unidades configuradas, el código se compromete.

La integración continua es diferente: en CI, el código se compromete independientemente de lo que suceda como resultado de la compilación. Si una compilación de CI falla debido a que se ha cometido un código incorrecto, el código aún está allí, en el control de la fuente, disponible para que todos lo agarren.

Ahora, para la parte basada en la opinión: el registro bloqueado es excelente si tiene un gran número de desarrolladores con distintos niveles de habilidad / experiencia, ya que evita que el código interrumpido pase al control de la fuente. El inconveniente es que aumenta el tiempo entre el código comprometido y el código disponible para los demás, y por lo tanto puede dar lugar a situaciones en las que la gente se pasea esperando que la compilación se complete con éxito.

Recomiendo usar el check-in cerrado como una solución provisional. Si tiene una tonelada de compilación de fallas de compilación controlada, entonces está haciendo su trabajo y evitando que el código incorrecto se comprometa. Si, con el tiempo, el equipo madura y las compilaciones de control de acceso fallan con poca frecuencia, entonces se está cumpliendo menos y se debe cambiar a una integración continua y corregir compilaciones defectuosas a medida que se presenten, en lugar de retrasar cada compromiso en caso de que surja un problema .

Siempre he trabajado con la compilación de integración continua (CI) en TFS. Sin embargo, en mi último proyecto comenzamos a usar el disparador de check-in controlado.

¿Hay alguna desventaja al usar un check-in cerrado? Porque si impide que el equipo verifique el código roto, ¿cuál es el propósito de un desencadenante de CI?