Serveur de construction et de test automatisé et indépendant de la langue pour plusieurs projets [fermé]

StackOverflow https://stackoverflow.com/questions/1200721

Question

Pour faciliter nos tests de version, nous recherchons un système permettant de créer et de tester (de manière unitaire) automatiquement nos projets logiciels sur diverses architectures. Nos contraintes sont:

  1. Le code à construire est écrit dans plusieurs langages, notamment Python, Java et C.
  2. Nous avons plusieurs architectures de déploiement distinctes.
  3. Nous avons plusieurs projets que nous souhaitons construire et tester indépendamment.
  4. Notre système de contrôle des sources est Subversion, et le système doit en tenir compte.
  5. La solution devrait idéalement être open source.

Nous avons examiné:

  • Artifactory + Continuum : sympa à certains égards, mais il est fortement centré sur Java, avec un support Python limité ou inexistant.

  • Buildbot : cela nous donne presque toutes les fonctionnalités dont nous avons besoin, sauf qu'elles ne prennent pas en charge plusieurs projets, ce qui est une affaire pour nous.

Que recommanderiez-vous? Qu'est-ce que vous utilisez?

Était-ce utile?

La solution

Avez-vous consulté Hudson ? Je l'ai utilisé sur des projets .Net avec beaucoup de succès, même s'il s'agit d'un outil quelque peu centré sur Java. Il supporte la subversion et possède une communauté de plugins active et diverse qui lui permet de travailler avec beaucoup de langues différentes. Son source ouverte et il fonctionne sur de nombreuses plateformes. Je l’ai trouvé relativement facile à configurer et à gérer.

Autres conseils

Consultez TeamCity . Fonctionne comme un charme pour nous.

Depuis que j'ai quitté buildbot, j'utilise Cruisecontrol et j'en suis satisfait dans une certaine mesure. Mes projets actuels consistent à construire c ++ & amp; ruby (avec quelques extensions c) pour plusieurs architectures et le seul reproche que je puisse faire est que la plupart des fonctionnalités nécessitent ant. Et actuellement, une seule instance de cc construit environ 40 projets différents. Les phases de construction que nous avons impliquées consistent à exécuter des tests unittests, quelques tests fonctionnels, obtenir la couverture de code et en faire un rapport, mettre à jour la base de données de paquets, l'intégration irc, la création de packs logiciels et le référentiel. mise à jour (debian)

Le seul inconvénient, c'est que la plupart des fonctionnalités les plus sophistiquées exigeraient que (au moins lorsque la boucle de construction cc se trouve à l'intérieur) se passe avec ant.

J'ai aussi évalué hudson, il semble être un peu plus flexible que cruisecontrol mais je n'aime pas personnellement l'interface de configuration de celui-ci.

Je suis développeur sur CruiseControl et je travaille pour Urbancode qui crée AnthillPro , afin que je puisse parler des points forts de ceux-ci. Je suis également l'un des organisateurs de CITCON et je connais assez bien toutes les offres de l'espace .

CruiseControl ou Hudson sont deux très bons outils CI open source. Je trouve que CC est vraiment facile à personnaliser et à étendre et de nombreux plugins ont été ajoutés au cours de ses 8 années de vie. Hudson est plus récent et plus facile à démarrer pour la plupart des gens; Il est extrêmement simple d’exécuter votre premier projet à l’aide de la configuration de l’interface graphique, tandis que CC doit être inséré dans des fichiers XML. Hudson possède également une communauté de plugins active et ajoute rapidement de nouvelles fonctionnalités.

Toutefois, en fonction de la complexité et des exigences de vos projets, un outil commercial tel qu'AnthillPro conviendrait mieux. Les raisons de la mise à niveau de CC ou Hudson vers AHP varient d’une entreprise à l’autre, mais certaines réponses classiques incluent la possibilité de configurer des déploiements en libre-service avec contrôle d’accès par environnement, la volonté de chaîner plusieurs versions / workflows, la gestion de la référentiel d'artefacts, ou possibilité de rassembler des données à partir de plusieurs outils & amp; construit tout au long du cycle de vie.

Ce n'est pas tout le monde qui a besoin de ces fonctionnalités, mais ce sont les personnes qui trouvent que la mise à niveau en vaut la peine.

Pourquoi ne pas jeter également un coup d'œil à la CI Factory .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top