Comparaison des serveurs CI? [fermé]

87

Je recherche une comparaison de différents serveurs d' intégration continue (CI) (en particulier en se concentrant sur .NET) et je n'en ai trouvé aucun.

Par conséquent, j'aimerais savoir ce que vous pensez des différentes solutions disponibles, quels sont les avantages et les inconvénients, quelles sont les exigences d'hébergement et pourquoi CI Server XY est le serveur de votre choix.

Je suis intéressé par vos réflexions sur (n'hésitez pas à commenter les autres):

Les points d'intérêt sont:

  • Configuration (facile, flexible)
  • Intégration avec SCM (en particulier DSVC comme git ou hg)
  • Intégration avec les systèmes de construction (MSBuild, NAnt, Rake)
  • Intégration avec les cadres de test
  • Intégration avec Source Anaylsis (Simian, NDepend, FxCop, NCover etc.)
  • Interface Web / Tableaux de bord
  • Exigences d'infrastructure
Peter Mortensen
la source
31
27 personnes trouvent cela utile - mais il est fermé. SIGH
Ryan
CruiseControl.NET a déménagé, après la fin de la collaboration avec Thoughtworks. Nouvelle URL: cruisecontrolnet.org
Jowen
2
@Ryan Il y a beaucoup de choses intéressantes dans le monde qui ne conviennent pas à SO.
Andy Wiesendanger
Pourquoi pas Azure DevOps ?
zwcloud

Réponses:

51

Aucune question comme celle-ci n'est complète sans un lien vers le grand CI Feature Matrix (Web Archive) qui répertorie à peu près toutes les options CI disponibles.

Mais je pense qu'il est important de regarder en avant la portée de ce que vous voulez inclure dans votre système CI. Est - ce que ça va être juste ou builds que vous allez apporter dans d' autres éléments tels que l' analyse statique, les dépendances inter-projets, déploiements, tests fonctionnels, etc. Pour faciliter cette planification que j'ai créé cette carte murale sur les éléments de l' entreprise CI (PDF ; aucune inscription requise). S'il vous plaît ne laissez pas le "E-word" vous décourager; Je veux juste dire des choses au-delà de la construction de base de CI à rétroaction rapide. :)

Il ne s'agit pas d'un outil spécifique, mais répertorie une variété de pratiques que vous pourriez envisager pendant les étapes de planification / évaluation.

Jeffrey Fredrick
la source
5
Bon sang. Cette matrice souffre de "DeathByOverload". Basic UX dicte que les grandes grilles sont inutiles sauf s'il y a filtrage. Pour ajouter l'insulte à la blessure, il n'y a pas de téléchargement (csv) et la démarque ne peut pas être téléchargée directement. Même cela a résisté à la copie dans Excel ... J'ai abandonné.
sehe
4
Le lien Feature Matrix est mort :(
Marty
11
Page archivée: web.archive.org/web/20130730154141/http
Darren Griffith
1
La page archivée est
indisponible
14

Rien d'utile dans:

EDIT : A souligné par Jonik dans un commentaire, j'ai raté Quelle est la différence entre Hudson et CruiseControl pour les projets Java? et Comment et pourquoi configurer une machine de génération C #? . Vous trouverez des réponses très pertinentes. En d'autres termes, je pense que tout ce que vous recherchez est déjà sur Stack Overflow.

Pascal Thivent
la source
1
Je conviens que SO est déjà assez plein de comparaisons de serveurs CI. Je ne connais pas Teamcity et CIFactory, mais en ce qui concerne CC (.net) et Hudson, le choix est assez clair de nos jours; voici mon point de vue: stackoverflow.com/questions/604385/… . (Peu importe l'accent mis sur Java dans cette question; Hudson est également idéal pour .NET: stackoverflow.com/questions/616149/… )
Jonik
@Jonik Merci, de très bons liens. Je ne sais pas comment je les ai manqués, ils fournissent tous les deux d'excellentes réponses et des informations très utiles.
Pascal Thivent
"Je ne sais pas pour Teamcity et CIFactory" ... c'est exactement pourquoi je veux une comparaison approfondie qui ne traite PAS seulement de x vs y C'est pourquoi c'est un wiki communautaire, n'hésitez pas à extraire la conclusion des liens référencés.
Johannes Rudolph
@Johannes, assez bien; Je conviens que la plupart des questions existantes ont une portée plus limitée que celle-ci. Mais il se peut qu'il n'y ait pas beaucoup d'utilisateurs ici ayant une expérience avec tous les Hudson, CC, Teamcity et CIFactory qui pourraient fournir une bonne comparaison. Si vous avez besoin d'un serveur CI, mon conseil (d'après mon expérience personnelle et par exemple les votes sur stackoverflow.com/questions/140453/… ) serait d'essayer d'abord Hudson.
Jonik le
7

TeamCity a une merveilleuse fonctionnalité qui permet au développeur d'effectuer une construction personnelle avant de s'engager. Très utile!

CruiseControl.NET est le grand-père du groupe et est donc un peu daté visuellement, etc. Comme il existe depuis un certain temps, Google sait comment résoudre de nombreux problèmes que vous rencontrerez.

Pour ces raisons (entre autres), j'utilise CruiseControl.NET au travail et TeamCity à la maison et dans ma vie open source :)

Daniel Elliott
la source
Ah, CC.Net n'est-il pas le port .net de CruiseControl?
Mnementh
5

Je suis un utilisateur de CruiseControl.NET depuis le début. Mes équipes l'utilisent au travail et je l'utilise à la maison pour des projets personnels.

En particulier, CruiseControl.NET me permet de parcourir l'ensemble du processus CI: builds, mise à jour de version, tests unitaires et d'intégration, archivage de la source ou de la release candidate, couverture du code, voire déploiement sur notre système de test au travail. Il est hautement personnalisable, fonctionne bien avec MSBuild et NAnt, et avait même une architecture de plug-in extensible.

Il fait à peu près tout ce dont j'ai besoin.

Le plus gros inconvénient: la configuration est parfois pénible, et peut prendre du temps. Mais une fois que c'est fait, c'est fait, et comme l'a dit une autre affiche, j'aime voir le signal de "construction réussie" parce que je sais que non seulement la construction elle-même a fonctionné, mais aussi que mes tests unitaires et d'intégration se sont tous déroulés avec succès.

scottmarlowe
la source
2

Team Foundation Build est une option et interagit très bien avec Team Foundation Server. C'est gratuit tant que vous avez une licence TFS.

Le Matt
la source
Je pensais que personne ne mentionnerait TFS Build System, entièrement intégré à TFS et pris en charge par Microsoft. La plupart des développeurs .Net peuvent déjà avoir installé TFS.
Diego Mendes
Les Team Builds dans TFS 2015/2017 sont beaucoup plus faciles à configurer et à utiliser, et vous pouvez même les surveiller en temps réel avec CatLight Build Monitor
Thomas Bennet
Il y a probablement une raison pour laquelle il n'est pas mentionné ... Mes 2 centimes: je viens de commencer à travailler sur le projet qui l'utilise, nous essayons d'améliorer notre automatisation et d'établir un pipeline de livraison ... mais chaque CI "de temps en temps" est à court de minutes "et devinez quoi ... vous devez payer quelques minutes. C'est la raison pour laquelle je suis sur ce fil ...
Julia
1

Nous utilisons Hudson au travail. La raison principale est qu'il est très facile à configurer. Vous pouvez exécuter directement la guerre (c'est un fichier jar exécutable) ou la déployer sur n'importe quel conteneur de servlet. Et vous êtes prêt à commencer. Hudson prend également en charge de nombreux outils et est extensible grâce à son système de plugins.

Mnementh
la source
1

Nous sommes passés de CruiseControl.NET à TeamCity principalement en raison de la facilité de configuration. TeamCity a également plus de fonctionnalités, mais la raison principale est qu'une interface utilisateur Web intéressante est plus simple à utiliser que les fichiers de configuration XML.

MODIFIER: La plupart des tâches que TeamCity fera hors de la boîte; si nécessaire, nous utilisons NAnt.

TrueWill
la source
1

CruiseControl.NET - cela peut être un peu difficile à installer (comme la plupart des systèmes CI), mais cela vaut la peine de persévérer. Je l'ai actuellement configuré pour exécuter des tests unitaires à la fin des builds et pour produire des installateurs Wix à la demande. Comme l'a dit Dan, il semble un peu daté, mais cela n'a pas d'importance, car il vous fournit de nombreuses informations faciles à obtenir et à lire.

Une chose - assurez-vous que tous vos développeurs ont installé CC Tray, en cours d'exécution et pointant vers leurs versions. C'est une sensation formidable d'avoir "Une autre construction réussie" dans votre barre de notification.

Pete OHanlon
la source
0

Nous utilisons ccnet au travail, ce qui convient à la plupart de nos besoins (nous avons environ 50 versions automatisées), mais il faut une personne pour les peaufiner et les réparer à plein temps.

Si vous partez de zéro, jetez un œil à Bamboo. Nous l'avons examiné et cela semble vraiment prometteur, mais cela ne correspond pas complètement à nos besoins et nous avons investi beaucoup trop de temps dans ccnet pour passer à Bamboo maintenant.

Cordialement,

Sebastiaan

Sebastiaan M
la source
0

J'ai hérité d'un serveur luntbuild. Pas une bonne option pour un projet .NET. Si vous constatez que vous utilisez constamment le serveur de compilation pour exécuter des tâches de ligne de commande génériques, c'est que quelque chose ne va pas. Un bon serveur de construction avait une bonne compréhension de la sortie des tests unitaires et des tâches msbuild comme étant plus que des commandes opaques à exécuter lorsque le système de contrôle de source change.

J'aime migrer vers Team City.

MatthewMartin
la source
0

Je suis assez nouveau sur la scène CI et j'ai concentré mes efforts sur CruiseControl.NET, en utilisant NAnt et Ivy pour construire mes projets .NET.

J'ai trouvé que CruiseControl.NET est très adaptable à de nombreux autres outils, tels que NCover / NUnit / etc. Ils se connectent tous à cela et intègrent les résultats pour un processus de construction combiné.

Je vais examiner TeamCity dans un proche avenir pour mon propre intérêt, mais je pense que CruiseControl fait du bon travail, mais seulement aussi bien que vos scripts de construction! Si ce sont des pantalons, on ne peut s'attendre à ce que vos constructions soient aussi bonnes.

Mais en résumé, CruiseControl.NET est une bonne solution, mais je n'ai pas encore découvert à quel point la concurrence est bonne en comparaison.

Brett Rigby
la source
0

Nous sommes heureux avec Hudson . Je n'ai rien à quoi le comparer, mais c'était simple à configurer et à démarrer. Pour le moment, il ne construit que des projets Win32 C ++ et un programme d'installation, mais nous portons sur Linux et cela devrait également fonctionner avec cela.

Obtient les référentiels Subversion sans aucun problème et envoie des alertes par courrier électronique, etc. Nous l'aimons jusqu'à présent. Encore une fois, nous avons une expérience limitée des comparaisons.

Peter Mortensen
la source
0

Je travaille avec CruiseControl.NET, TFS 2012 et TeamCity 7.x depuis plusieurs années et je pense que TeamCity est le MEILLEUR en raison de sa facilité d'utilisation, de son interface utilisateur confortable et informative et d'autres fonctionnalités intéressantes telles que la création de dépendances et bien d'autres. Ça marche, j'adore ça.

Alon Amsalem
la source