¿Cuáles son las principales diferencias entre Jenkins y TeamCity si uno está acostumbrado a trabajar con Jenkins?

10

Estas herramientas parecen compartir características muy similares.

¿Qué tan complicado sería comenzar a usar TeamCity después de acostumbrarse a trabajar en Jenkins? ¿Hay conceptos específicos que uno debe tener en cuenta?

Ricardo Herrera
fuente
3
Me gustaría recomendar que su pregunta principal coincida con la pregunta en el cuerpo un poco más cerca. ¿No está pidiendo todas las diferencias, solo las diferencias que harían difícil moverse entre ellas?
avi
2
Publicación de blog real: upguard.com/articles/…
Tensibai

Respuestas:

8

TeamCity:

Se ve mejor, si esto es importante para su equipo, entonces definitivamente debería influir. Dicho esto, si es MUY importante, probablemente terminará creando herramientas o algún tipo de superposición de tablero para apoyar a su equipo en ese punto. Realmente quiero es el que tiene la mejor API. No he probado la API de Jenkins, así que no puedo comparar, la API de TC debería darte lo que necesitas.

Su apoyo es bastante bueno, los chicos responden relativamente rápido y son corteses. Sin embargo, eso no significa que obtendrá lo que desea. Si usa el sistema de una manera poco convencional, puede poner su error en los estantes ... nos pasó a nosotros. En ese momento, resulta bastante frustrante usarlo, te enfrentas a una caja negra que deja pocas alternativas que evitarla. En este punto, las cosas pueden ponerse feas y feas.

Por lo general, es bastante rápido hacer lo que desea y la interacción cuasi API de registro es una característica muy buena si realiza muchas secuencias de comandos personalizadas en su canalización.

Jenkins

Batalla probada y extensa.

Pero es algo menos bonito, no iría tan lejos como para decir que es feo, se podría decir que la funcionalidad viene antes de la apariencia.

Estoy bastante seguro de que puede encontrar un plan de soporte privado pagado por compañías externas si mira a su alrededor. Si esto es importante para su tienda, no solo bloquee la parte "OpenSource" del acuerdo, la comunidad es bastante expansiva.

Muchos, quiero decir MUCHOS complementos. Una vez más, no solo se limite a los canales oficiales, se pueden encontrar muchos más complementos en Github y otros lugares.

Encontré que ambos son igualmente rápidos para comenzar, aunque con Jenkins es posible que deba ser más dinámico con los complementos que con TeamCity. Entonces, si tiene un departamento de TI limitado y no obtiene acceso de administrador al servidor, esto podría plantear un problema. Compuesto por su ciclo de lanzamiento mucho más rápido que TeamCity (semanal).

Descubrí que Jenkins admite más paradigmas de ciclo de lanzamiento que TeamCity. Puede ser más fácil encontrar una plantilla de proceso lista para usar que coincida más con lo que tiene en mente. Digo esto con reservas ya que no he tratado con TeamCity en 2 años.

Personalmente, prefiero a Jenkins principalmente porque estoy predispuesto hacia el código abierto para tales herramientas y, en menor grado, porque descubrí que su estructura y mecanismo de configuración están más de acuerdo conmigo.

YMMV

Newtopian
fuente
Agregaría al lado de Jenkins la posibilidad de contribuir realmente a los complementos existentes o escribir uno propio para una funcionalidad personalizada. wiki.jenkins-ci.org/display/JENKINS/Plugin+tutorial
Dan Cornilescu
Es cierto, aunque lo mismo también es cierto para TeamCity (ver más abajo). Sin embargo, Jenkins hace posible hackear el núcleo que no es cierto para TeamCity. Puede o no ser importante según la disponibilidad de los programas Java en su equipo y su entorno de TI confluence.jetbrains.com/display/TCD9/… .
Newtopian
6

En general, la experiencia del usuario es bastante similar. TeamCity tiene una interfaz de usuario más bonita, pero no es particularmente fácil de usar. En términos de funcionalidad, los dos son efectivamente equivalentes. La mayor parte de la terminología es la misma también.

Sin embargo, los ecosistemas de plugins son bastante diferentes; definitivamente querrá ver qué complementos están disponibles para TeamCity para lograr lo que está tratando de hacer, ya que este será probablemente el mayor problema en términos de una transición. Si está acostumbrado a ejecutar ciertos complementos de Jenkins, tendrá que aprender a) qué funcionalidad proporciona TeamCity sin necesidad de complementos, y b) qué complementos están disponibles para agregar cualquier funcionalidad restante y cómo difieren de los complementos que usted estás acostumbrado en Jenkins.

Adrian
fuente
4

Estoy de acuerdo con Adrian en la mayoría de los puntos. La interfaz de usuario de TeamCity es definitivamente más bonita y obtienes muchas más funciones integradas con TeamCity que con Jenkins. Pero Jenkins es de código abierto y, aunque la calidad (y el documento) varía mucho de un complemento a otro, el ecosistema es extenso.

He estado usando Jenkins durante años y recientemente comencé a usar TeamCity recientemente. Por ejemplo, configurar trabajos dependientes es mucho más simple e intuitivo en Jenkins que en TeamCity.

matthewcummings516
fuente