Quelles sont les principales différences entre Jenkins et TeamCity si l'on a l'habitude de travailler avec Jenkins?

10

Ces outils semblent partager des caractéristiques très similaires.

Est-ce compliqué de commencer à utiliser TeamCity après s'être habitué à travailler sur Jenkins? Existe-t-il des concepts spécifiques dont il faut être conscient?

Ricardo Herrera
la source
3
Je voudrais recommander que votre question principale corresponde un peu plus à la question dans le corps. Vous ne demandez pas toutes les différences, juste les différences qui rendraient difficile le passage entre elles?
avi
2
Article de blog immobilier: upguard.com/articles/…
Tensibai

Réponses:

8

TeamCity:

Cela semble plus beau, si cela est important pour votre équipe, il devrait définitivement peser. Cela dit, si c'est TRÈS important, vous finirez probablement par créer des outils ou une sorte de superposition de tableau de bord pour soutenir votre équipe à quel point ce que vous vraiment envie est celle avec la meilleure API. Je n'ai pas essayé l'API Jenkins, je ne peux donc pas comparer, l'API TC devrait cependant vous fournir ce dont vous avez besoin.

Leur soutien est plutôt bon, les gars répondent relativement vite et sont courtois. Cependant, cela ne signifie pas que vous obtiendrez ce que vous voulez. Si vous utilisez le système d'une manière non conventionnelle, vous pouvez très bien mettre votre bug sur les étagères ... qui nous est arrivé. À quel moment cela devient assez frustrant à utiliser, vous êtes confronté à une boîte noire ne laissant que peu d'alternative que de contourner. À ce stade, les choses peuvent devenir hackish et laid.

Il est généralement assez rapide de faire ce que vous voulez et la quasi-API d'interaction de journal est une fonctionnalité très intéressante si vous faites beaucoup de scripts personnalisés dans votre pipeline.

Jenkins:

Testé en bataille et étendu.

Mais il est un peu moins joli, n'irait pas jusqu'à dire que c'est moche cependant, on pourrait dire que la fonctionnalité passe avant l'apparence.

Je suis presque sûr que vous pouvez trouver un plan de soutien privé payant auprès de sociétés tierces si vous regardez autour de vous. Si cela est important pour votre boutique, ne vous contentez pas de bloquer la partie "OpenSource" de la transaction, la communauté est assez étendue.

Beaucoup, je veux dire BEAUCOUP de plugins. Encore une fois, ne vous contentez pas de vous limiter aux chaînes officielles, vous trouverez beaucoup plus de plugins dans github et dans d'autres endroits.

J'ai trouvé que les deux étaient à peu près aussi rapides pour commencer, mais avec Jenkins, vous devrez peut-être être plus dynamique avec les plugins qu'avec TeamCity. Donc, si vous avez un service informatique serré et que vous n'obtiendrez pas d'accès administrateur au serveur, cela pourrait poser un problème. Composé par leur cycle de sortie beaucoup plus rapide que TeamCity (hebdomadaire).

J'ai trouvé que Jenkins prend en charge plus de paradigmes de cycle de publication que TeamCity. Il pourrait être plus facile de trouver un modèle de processus prêt à l'emploi qui correspond mieux à ce que vous avez en tête. Je dis cela avec des réserves car je n'ai pas traité avec TeamCity depuis 2 ans maintenant.

Personnellement, je préfère Jenkins principalement parce que je suis partisan de l'Open Source pour de tels outils et, dans une moindre mesure, parce que j'ai trouvé que sa structure et son mécanisme de configuration sont plus en accord avec moi.

YMMV

Newtopian
la source
J'ajouterais du côté de Jenkins la possibilité de contribuer réellement aux plugins existants ou d'écrire le vôtre pour des fonctionnalités personnalisées. wiki.jenkins-ci.org/display/JENKINS/Plugin+tutorial
Dan Cornilescu
C'est vrai, bien que la même chose soit également vraie pour TeamCity (voir ci-dessous). Cependant, Jenkins permet de pirater le noyau, ce qui n'est pas vrai pour TeamCity. Peut ou peut ne pas être important selon la disponibilité des progs Java dans votre équipe et votre environnement informatique confluence.jetbrains.com/display/TCD9/… .
Newtopian
6

Dans l'ensemble, l'expérience utilisateur est assez similaire. TeamCity a une interface utilisateur plus jolie, mais n'est pas particulièrement facile à utiliser. En termes de fonctionnalité, les deux sont effectivement équivalents. La plupart de la terminologie est également la même.

Les écosystèmes des plugins sont cependant assez différents; vous voudrez certainement regarder quels plugins sont disponibles pour TeamCity pour réaliser ce que vous essayez de faire, car ce sera probablement le plus gros problème en termes de transition. Si vous êtes habitué à exécuter certains plugins Jenkins, vous devrez apprendre a) quelles fonctionnalités sont fournies par TeamCity sans aucun plugin nécessaire, et b) quels plugins sont disponibles pour ajouter les fonctionnalités restantes, et comment ils diffèrent des plugins que vous suis habitué à Jenkins.

Adrian
la source
4

Je suis d'accord avec Adrian sur la plupart des points. L'interface utilisateur de TeamCity est certainement plus jolie et vous obtenez beaucoup plus de fonctionnalités intégrées avec TeamCity qu'avec Jenkins. Mais Jenkins est open source et bien que la qualité (et la doc) varient beaucoup d'un plugin à l'autre, l'écosystème est vaste.

J'utilise Jenkins depuis des années et je viens de commencer à utiliser TeamCity récemment. Par exemple, la configuration des tâches dépendantes est beaucoup plus simple et plus intuitive dans Jenkins que dans TeamCity.

matthewcummings516
la source