2011-08-24 17 views
7

Nos gustaría implementar CI mediante TeamCity.Complemento TeamCity Visual Studio con Git

Utilizamos Git para el control de código fuente y nos gustaría hacer uso de la función "comprobaciones preprobadas" o "compilaciones personales" de TeamCity.

¿Alguien tiene experiencia con el complemento VS para Teamcity?

Por lo que he visto, solo es compatible con Subversion, no se sabe nada de Git.

¿Alguien utilizó esta configuración con éxito?

Respuesta

11

Como se explica en Pre-tested “Commits” using Git por JoergM, puede emular una solución similar a la TeamCity6.x "personal se basa en las ramas", mediante el uso de repositorios personales:

JoergM's setup for personnal repo.

Hay un repositorio central de Git que solo contiene cambios probados previamente. Yo llamo a esto "Repositorio Verde" porque solo debe contener cambios que conducen a construcciones verdes.
Cada desarrollador extrae de este repositorio pero nadie tiene permiso para hacerlo.

En su lugar, todos tienen un repositorio personal (piense en el tenedor si estuviera en GitHub). El servidor CI ve esos repositorios personales. Después de una confirmación, comienza la compilación y la prueba. Si eso fue exitoso, empuja los cambios al Repositorio Verde.

JoergM añade:

La pregunta es si vamos a seguir usando nuestra propia solución o cambiar a la nueva característica de TeamCity.
Hasta ahora no puedo ver ninguna ventaja de la función Teamcity.
Con nuestra solución, somos aún más flexibles en cuanto al diseño de ramales.

Este tipo de configuración es similar a lo que describí en "What is the cleverest use of source repository that you have ever seen?".

+0

grandes cosas, gracias compañero. –

+0

2 preguntas que surgen al leer esto: ¿Qué sucede en el auto-push falla? y ¿cómo se refleja esto directamente en VS? a diferencia del complemento, esto no ofrece ninguna integración VS o IDE. –

+0

@liortal: lo que vi fue en general, en caso de error, un correo electrónico que notifica al usuario y las confirmaciones que se descartan en el repositorio personal (para que las presiones nuevamente después de solucionar el problema). Pero tiene razón, no hay integración directa con TC o VS-addin (Visual Studio Addin: http://confluence.jetbrains.net/display/TCD65/Visual+Studio+Addin). – VonC

0

TeamCity 6.5 tiene una nueva característica: ejecución remota en una sucursal. Funciona para Git y Mercurial y no requiere IDE, vea más aquí: http://confluence.jetbrains.net/display/TCD65/Branch+Remote+Run+Trigger

+0

¿Qué es una ejecución remota y cómo difiere de la activación habitual al registrarse? –

+0

En TeamCity hay dos términos en realidad, ejecución "remota" y "confirmación probada previamente". Si su compilación personal comenzó sin la opción de confirmación, es una "ejecución remota". De lo contrario, es un "compromiso probado previamente". La función "Ejecución remota en la sucursal" se agregó en TeamCity 6.5. Ahora puede decirle al servidor de TeamCity que observe los cambios en las ramas de Git/Mercurial cuyos nombres coinciden con un patrón específico. Una vez que TeamCity detecte una confirmación en dicha rama, se activará la compilación personal en nombre del autor del commit. –

+0

Gracias. ¿Qué usos hay para tal característica? quiero decir, suena muy similar al desencadenador usual al momento del check in (excepto que escucha en una rama diferente a la especificada en la página raíz de VCS). –

Cuestiones relacionadas