¿Cuál es una mejor herramienta para la integración continua: Jenkins, TeamCity o Cruise Control para un proyecto Java?

Usa a Jenkins .

Jenkins es la bifurcación reciente de los desarrolladores principales de Hudson. Para entender por qué, necesita conocer la historia del proyecto. Originalmente era de código abierto y era compatible con Sun. Como gran parte de lo que hizo Sun, estaba bastante abierto, pero había un poco de negligencia benigna. La fuente, los rastreadores, el sitio web, etc. fueron alojados por Sun en su relativamente cerrado Bienvenido | Plataforma Java.net.
Entonces Oracle compró Sun. Por diversas razones, Oracle no ha tenido reparos en aprovechar lo que percibe como sus activos. Esos incluyen cierto control sobre la plataforma logística de Hudson, y particularmente control sobre el nombre de Hudson. Muchos usuarios y colaboradores no se sentían cómodos con eso y decidieron irse.

Así que todo se reduce a lo que ofrece Hudson vs Jenkins. Tanto Hudson como Jenkins de Oracle tienen el código. Hudson tiene el soporte corporativo de Oracle y Sonatype y la marca. Jenkins tiene la mayoría de los desarrolladores principales, la comunidad y (hasta ahora) mucho más trabajo real.
Lea la publicación que he enlazado arriba, luego lea el resto en orden cronológico. Para equilibrar, puede leer la versión de Hudson / Oracle. Para mí está bastante claro quién está jugando a la defensiva y quién tiene intenciones reales para el proyecto.

Para ser sincero, depende, ambos son igualmente poderosos.

Jenkins es de código abierto, que es lo primero que hace que las personas elijan a Jenkins sobre TC, mientras que TeamCity no es de código abierto.

Pero prefiero TC porque tiene una mejor interfaz de usuario, rendimiento y mantenimiento que Jenkins. TC tiene RESTApi de gran alcance a través del cual puede realizar varias cosas. Tiene una mejor integración con todas las herramientas ágiles.

Si usted es un desarrollador y no trabaja para una organización, TC le convendría. Si posee una organización de rango medio, entonces Jenkins sería el más adecuado para usted.

Jenkins 🙂
Es la herramienta de CI ampliamente utilizada. Es de código abierto. Es compatible con casi todos los SCM. (Por supuesto, Git Hub también). El uso de Jenkins tiene varias ventajas, como por ejemplo: hay un gran soporte / documentos disponibles en la red, puede desarrollar sus propios complementos personalizados para Jenkins, la configuración es simple.

TeamCity vs Jenkins: ¿Cuál es el mejor servidor de integración continua (CI) para el desarrollo de software .NET?