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):
- Hudson
- Régulateur de vitesse
- CruiseControl.NET
- Teamcity
- CIFactory (utilise CruiseControl.NET)
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
.net
comparison
continuous-integration
Peter Mortensen
la source
la source
Réponses:
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.
la source
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.
la source
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 :)
la source
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.
la source
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.
la source
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.
la source
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.
la source
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.
la source
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
la source
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.
la source
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.
la source
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.
la source
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.
la source