Serveur de construction en continu (cc.net, hudson, bambou, etc ...) l'expérience de construction à distance?

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/7588

  •  16-10-2019
  •  | 
  •  

Question

Nous utilisons actuellement une fois serveur cc.net pour notre processus de construction, qui construit à la fois .net (en utilisant msbuild & Nant) et java (en utilisant maven et fourmis).

CC.net surveille le contrôle source, et déclenche une accumulation à distance en cours d'exécution sur un serveur distinct. CC.net collationne ensuite les résultats.

Quand nous courons la construction à distance, il généralement:

  • court nunit ou JUnit ou similaire en utilisant des données moquaient
  • en option exécute un script DB pour créer une instance de base de données ou restaurer une nouvelle base de données à partir d'une position connue.
  • court sélénium ou similaire à l'interface utilisateur de test
  • exécute EMMA ou NCover pour la couverture de code
  • construit le système pour différents environnements de déploiement (test, acceptation, production)

Nous pouvons avoir plusieurs constructions en cours d'exécution à la fois, certains .net et certains java (de différentes équipes de projet).

Il est beaucoup de temps pour obtenir la télécommande construit de travail lorsque nous avons mis en place un nouveau projet et nous pensons qu'il doit y avoir quelque chose de plus adapté à distance construit que cc.net.

Est-ce que quelqu'un a une expérience avec construit à distance avec des systèmes d'intégration continue?
Je ne veux pas vraiment la liste des fonctionnalités de serveurs CI, plus je suis heureux d'entendre la façon dont vous les avez utilisés dans un multi-langue, environnement serveur multi.

Était-ce utile?

La solution

Hudson (Mise à jour:. Dans le monde d'aujourd'hui, je voudrais utiliser Jenkins, de fourche d'Hudson)

Je l'ai utilisé hudson dans les deux environnements d'entreprise Java et .NET pour des projets de haute visibilité (vous avez probablement été à certains des sites). Hudson est solide depuis le début, mais la meilleure partie est qu'il ya beaucoup de plugins pour faire à peu près tout ce que vous voulez. Hudson est hautement configurable, a une grande communauté, et il est vraiment facile à mettre en place dans un environnement de cluster si vous avez besoin d'aller builds multiples à la fois. Il est mon serveur CI préféré de tous ceux que j'ai utilisé (CC.NET, Hudson et TFS).

De plus, vous pouvez utiliser le plug-in ChuckNorris pour l'avoir donner vous les pouces vers le haut ou vers le bas.

Autres conseils

Nous avons été confronté à cette question il y a quelque temps et a décidé d'aller avec TeamCity . Nous ne avons regardé Hudson, CC et TeamCity. Le choix était facile à faire - TeamCity a fini par être notre serveur de build. S'il vous plaît noter que je ne suis pas un pro dans ce domaine et ce fut ma première expérience avec la construction des serveurs à ce moment-là.

Hudson - Je ne savais pas quoi faire et où lire. Et même si je pouvais comprendre quelque chose, il n'a pas été une option - trop de travail. J'ai décidé de jeter un oeil à CC.

Régulateur de vitesse - comme Hudson, mais d'une manière légèrement différente. Absolument rien ne peut être compris là sans un manuel et une tonne d'aide de Google. Je suis juste allé à jeter un oeil à TC.

TeamCity - TeamCity comme le ciel après ressenti les deux premiers. Il est le maximum utilisable de ces trois. Installer, allez sur le panneau d'administration, configurer un projet (montrer où le SVN est, pointez sur les fichiers de construction, spécifier des tests de couverture / unité, etc.) et commencer à profiter. Et même si je ne peux pas dire que je ne l'ai pas google quoi que ce soit, encore 95% du processus d'installation est très simple et claire. Je recommande vivement cet outil. Allez jeter un coup d'oeil. Il vous permettra d'économiser beaucoup de nerfs et de temps:)

Il faut aussi noter que TC n'est pas libre. Bien qu'ils ont une version gratuite qui peut être utilisé dans des projets commerciaux avec certaines limites (construction max configs 20) -. Jeter un oeil dans leur page de prix

son PS I comme je travaille pour TC, mais je vraiment pas:)

Nous utilisons CC.NET 1.4.

Nous essayons de passer à 1,6 ... quel cauchemar.

Son puissant ... mais seulement si vous l'utilisez à droite et à comprendre comment tout va ensemble. Ce qui est beaucoup demander de toute l'équipe. Nous avons « buildmasters » qui ont accès au serveur et peut changer les configs. Malgré cela, il y a beaucoup de recherches sur Google en ce qui concerne CCNet et toute l'affaire est devenue un énorme gâchis.

Je tiens personnellement à passer à TeamCity.

Je vous recommande d'orienter clairement de CCNet.

bonne question. Nous essayons aussi de savoir quel outil convient le mieux pour nous. Donc, je ne pourrai vous dire un peu d'expérience. Mais nous serions très intéressés par, quel système vous avez choisi CI maintenant et pour quelles raisons. Alors, s'il vous plaît nous tenir au courant.

Je suis très impressionné à quelle hauteur le niveau de votre CI est. Je dois admettre que nous avons moins de besoins parce que nous ne courons des tests d'interface utilisateur encore et ne pas créer des instances de base de données ou similaires, nous venons en utilisant des simulacres pour nos tests unitaires.

à nos expériences jusqu'à maintenant:

Pour les projets Java que nous utilisons en bambou qui fonctionne très bien JUnit et Emma. Et il n'y a pas beaucoup d'efforts pour mettre en place un nouveau projet.

Pour les projets .NET, nous recherchons toujours la meilleure solution

  • Régulateur de vitesse: Nous ne pouvions pas le faire fonctionner encore en raison de problèmes avec la connexion à notre référentiel

  • TFS:

    a) Il y a quelques étapes de configuration nécessaires pour être en mesure d'exécuter la première construction.

    b) Il y a quelques pièges où vous devez obtenir plus en ce qui concerne les droits d'accès. Il y a beaucoup de rôles que vous pouvez définir et vous devez savoir exactement quels droits a votre processus de construction et qui a votre compte de connexion. Mais si vous avez assez de temps pour gérer, vous pouvez définir chaque granularité particulière dont vous avez besoin.

    c) En ce qui concerne libs fait référence il y a aussi des choses à gérer si vous voulez partager libs pour de nombreux projets et ne veulent pas les gérer à chaque projet

    d) L'exécution NUnit Test est pas si facile que nous le pensions. Il est seulement facile si vous utilisez l'exécution de test fourni par Visual Studio, mais ce n'est pas NUnit

    e) Nous n'avons pas essayé de courir NCover encore (premières choses d'abord: -))

  • Hudson: outil Ensuite, nous allons essayer. Il semble avoir un très bon et plug-in facile pour .NET, je vais vous laisser savoir comment cela fonctionnait

  • Bamboo: prévision d'abord, nous avons obtenu: "Trop Java spécifique". Mais peut-être que nous allons essayer le plug-in .NET cependant, je vous préviendrai

L'espoir, nous pouvons poursuivre cette discussion et échanger des expériences.

Andy

Licencié sous: CC-BY-SA avec attribution
scroll top