git continuous-integration teamcity teamcity-7.1

git - Cómo desencadenar una compilación de TeamCity para múltiples confirmaciones pero una fusión en una rama



continuous-integration teamcity-7.1 (2)

Estoy intentando desencadenar una única compilación de teamcity para una sola fusión en VCS. La forma en que se presenta mi IC es la puesta en escena de una rama en la que fusionamos todos nuestros cambios. Luego, cuando deseamos implementar en producción, fusionamos el almacenamiento intermedio en la rama maestra en git. Desafortunadamente, esto desencadena una gran cantidad de compilaciones, una para probablemente cada registro en la rama de preparación. Así que en lugar de eso queremos que sea una sola compilación. Porque era una fusión única en la rama maestra.

Entonces, ¿alguien sabe cómo desencadenar una única compilación en un cambio en el VCS, sin importar cuántos controles de entrada se hayan realizado a la cantidad de personas diferentes?

Las opciones que he seleccionado en los desencadenantes de compilación en la ciudad del equipo son las siguientes.

Trigger a build on each check-in Include several check-ins in a build if they are from the same committer

Creo que podría hacerlo con un activador de compilación personalizado, pero preferiría no seguir ese camino.

Gracias de antemano por la ayuda.


En su lugar, debe usar o anular el Período de silencio para la rama que maneja las fusiones por etapas.

Supongo que para especificar el período de inactividad solo para esa rama, probablemente necesitará una configuración de compilación por separado. Tome su configuración de construcción principal y en cualquier pantalla donde la esté administrando, debería ver un botón a la derecha para "Extraer Plantilla".

Luego, puede usar esa plantilla para crear otra configuración de compilación para su rama de ensayo y anular el período de silencio en el desencadenante.


Por contraintuitivo que sea, al desmarcar Trigger a build on each check-in casilla Trigger a build on each check-in verificación de Trigger a build on each check-in debería resolver este problema siempre que tenga el Período de silencio habilitado el tiempo suficiente para que se incluyan todos los checkins.

Esencialmente, Trigger a build on each check-in significa "solo incluir 1 registro en cada compilación". La desactivación de la opción seguirá provocando que las compilaciones se desencadenen por los registros, pero incluirá todos los registros (de todos los usuarios) que se producen antes de que realmente comience la compilación. TeamCity realmente debería aclarar esto en su documentación o cambiar el nombre de la opción.