2010-02-08 23 views
9

Suponiendo que esté haciendo CI, el título realmente lo dice todo: ¿Qué herramientas usa?¿Qué herramientas usas para facilitar la integración continua (CI)?

En nuestro caso somos una tienda de desarrollo .NET, y estamos utilizando

Sin embargo estamos golpeando algunos problemas de rendimiento con Subversion y el número de tuberías de agentes de construcción Cruise & que estamos ejecutando, por lo que estamos usando Git en el back-end para aliviar esto. Sin embargo, la versión para Windows de Git nos está dando problemas (parece un poco demasiado "beta"), por lo que creemos que tenemos que ir con la versión de Linux.

La desventaja de esto es que está aumentando aún más las habilidades requeridas de cualquiera que vaya a administrar esta configuración.

Entonces, ¿qué herramienta (s) usa para el control de su versión y la compilación/implementación automatizada? Por favor, también mencione cuál es su plataforma de desarrollo.

Respuesta

4

Team City como el servidor de CI - libre para una cantidad limitada de proyectos.

Sin configuración XML desagradable, una buena GUI web en su lugar. Team City se puede configurar también con diferentes sistemas de compilación, NAnt, MSBuild et al. También se pueden configurar otras herramientas para que funcionen con TC, como ejecutar pruebas unitarias a través de un corredor.

+0

¿Qué sistema de control de versiones utilizas junto con Team City? –

+0

@Richard - Subversion, pero es compatible con otros. SVN funciona bien, puedo informarlo por experiencia. – Finglas

+0

Gracias por la respuesta. ¿Puedes decir cuántos agentes de compilación de TeamCity tienes? (Esto parece ser lo que ha causado el cuello de botella de svn para nosotros: muchos agentes de construcción de cruceros realizan actualizaciones simultáneamente) –

8

Utilizamos la herramienta de código abierto Hudson. Es una herramienta realmente buena para hacer construcciones automáticas. Sin embargo, no es solo para construir. Se puede utilizar para ejecutar pruebas, proporcionar informes de cobertura de código, enviar notificaciones por correo electrónico, etc.

(Nuestra plataforma de desarrollo es principalmente Linux + java)

+2

Estamos usando Hudson también, y tenemos una mezcla de Java y C++ en Windows. – mskfisher

2

En mi trabajo actual (contrato para una empresa muy grande. Cerca del 90% de desarrollo de Microsoft/.NET), mi grupo está automatizando construcciones y pruebas unitarias con TeamCity en nuestras nuevas aplicaciones.

Configuré esto y comencé con MSBuild en TC, pero estoy intentando impulsar los archivos de compilación de Nant y algunos estándares más en nuevos proyectos. (utilizando las plantillas en VS2008 para generar la mayor parte de la configuración de compilación cuando se crea un nuevo proyecto)

El control de código fuente aquí da miedo. Muchos grupos todavía usan VSS (incluido el mío, que no es divertido) con un impulso corporativo hacia TFS este año. Preferiría ir a un DVCS (git o algo así), pero no sucederá en este entorno. De hecho, no estoy seguro de que TeamCity se quede una vez que la compañía cambie a TFS al 100%. Pero, según mi opinión, estaremos tan avanzados con CI en el momento en que eso ocurra, que TFS puede que no cubra nuestras necesidades. Pero volviendo a TeamCity, es compatible con VSS y eso ha funcionado.

En lo que respecta a la implementación, me estoy metiendo con el Web Deployment Project add-in de Microsoft, así como una configuración en Nant. El enfoque de Nant es, obviamente, más flexible, pero tratar de enseñar a los desarrolladores de connect-the-dot las secuencias de comandos de Nant es un poco demasiado a veces.

Espero que ayude un poco. La "demostración" de TeamCity le dará 20 configuraciones de compilación de forma gratuita.

Debo señalar que probé CruiseControl.net y Hudson. Ambas son excelentes aplicaciones (y gratuitas), pero sabía que la simplicidad de configurar una nueva versión en TeamCity sería necesaria para las demás integrantes de mi grupo. De lo contrario, la gente simplemente no haría CI una vez que me haya ido.

+0

Olvidé agregar - Nuestras aplicaciones principales en TeamCity son C# 3.5 "webforms" y proyectos MVC. Tengo un par de pequeñas aplicaciones de consola que también están en CI. La prueba unitaria es nUnit en este momento. Puede tener que cambiar a MSTest si nos movemos a TFS. También estoy automatizando el análisis de FXCop en TeamCity en la mayoría de las compilaciones. Extremadamente fácil de instalar. – adammokan

+1

Además, consulte esta publicación de blog reciente sobre cómo alguien ha configurado TeamCity y MSDeploy para implementar sus aplicaciones. http://therightstuff.de/2010/02/06/How-We-Practice-Continuous-Integration-And-Deployment-With-MSDeploy.aspx – adammokan

1

Mi tienda es Java/Windows, utilizando el software de IBM; ClearCase, WAS, WMB, WPS. Fuimos con Hudson, y ha hecho cosas maravillosas para la productividad.

También utilizamos un pequeño animal de peluche, en este caso, un Frosty The Snowman cantando que mide aproximadamente 12 "de altura. Cuando un desarrollador rompe la construcción, identificado por Hudson, tienen 15 minutos para limpiar el desorden, o Frosty termina en su escritorio. Frosty se queda allí hasta que alguien más lo estropee de la misma manera.

He tenido Frosty una o dos veces, al igual que todo el equipo; ayuda a fomentar mentalmente mejores prácticas de codificación, o en al menos, las prácticas de codificación que no perjudican a sus compañeros de equipo.

0

solía utilizar cruise control.net, nunit, fxcop, ncover, xmlpreprocess, nant y algunos otros antes de la transición a TFS donde estoy haciendo un montón de s desarrollo de harepoint. No he invertido en un proceso de CI para el desarrollo de SharePoint a las limitaciones de nuestro proyecto, pero he desarrollado tareas de msbuild y me he suscrito a eventos de TFS para simular el proceso de CI con TFS 2k5. No he investigado en absoluto para TFS 2k8 pero definitivamente es compatible.

Cuestiones relacionadas