Question

OK, nous savons tous que la construction quotidienne est le cœur d'un projet, mais quelle est la meilleure façon de l'automatiser ?

Nous avons des scripts Perl enveloppant notre pipeline qui incluent ClearCase, VS2005 (C++), Intel FORTRAN, configuration Inno.Nous utilisons des tâches cron sous UNIX pour planifier la build et hébergeons un simple serveur Web Apache pour afficher et surveiller la build.Dans l’ensemble, c’est plutôt complexe, j’aimerais savoir quelle est la meilleure solution standard que les gens utilisent ?

Et oui, j'ai dit que FORTRAN n'y échappait pas parfois, cela fonctionne, cela ne sert à rien de faire un énorme projet de réimplémentation d'un code FEA éprouvé qui fonctionne tout simplement.

Était-ce utile?

La solution

Nous sommes en train de mettre en œuvre CC.Net.Jusqu'à présent, il semble que cela conviendrait plutôt bien à votre modèle.

Prêt à l'emploi, il offre une création automatisée, un suivi des résultats et une notification.Cependant, je ne suis pas sûr du degré de détail de la surveillance en cours de construction.

Autres conseils

Un nouveau pour moi et que j'ai entendu dire est assez astucieux, c'est Hudson - également avec le support MSBuild.

Il existe de nombreux outils qui gèrent spécifiquement cela :

Les outils prennent en charge immédiatement les types de build les plus courants.Ils prennent tous également en charge une sorte de processus de construction de type « exécuter ce script ».

En fin de compte, vous devriez utiliser les outils de construction les plus intéressants (MSBuild, Ant, Maven, Make, ...) lorsque vous le pouvez et combler les lacunes des outils les plus étranges avec des scripts personnalisés.La construction automatisée peut simplement les invoquer dans le bon ordre.

Voici la meilleure ressource que nous avons trouvée pour nous aider à choisir un outil d'intégration continue.Nous avons évalué 5 ou 6 outils sur cette page.

http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix

Nous utilisons ÉquipeCité - mais alors c'est un simple développement C#/Java - peut-être que votre pipeline peut être réalisé via des scripts qu'il peut piloter ?

J'ai eu du succès en utilisant Création visuelle Pro.

CC.NET est très puissant.Je l'ai utilisé et j'en étais vraiment content.Même l'icône d'état dans la barre d'état système.C'est un petit détail, mais cela donne un bon aperçu de la « santé » du projet.Vous vous sentez immédiatement motivé pour corriger les tests lorsque vous le voyez rouge.

Nous utilisons désormais une série de scripts que nous avons créés nous-mêmes.Depuis que nous écrivons Python, la compilation est inexistante, le seul problème est donc l'exécution des tests.

Si vous travaillez avec Visual Studio, assurez-vous de consulter Construction des fondations de l'équipe pour voir si cela conviendra à votre situation.

On dirait celui de Buck Hodges article de blog sur la version VS 2008 est également une bonne ressource.

Je sais que c'est une très vieille question, mais elle revient toujours dans les recherches, donc quelqu'un devrait la mentionner Jenkins - la suite open source d'Hudson.

Du Wiki Jenkins:

Parmi ces choses, Jenkins actuel se concentre sur les deux emplois suivants :

  • Créer/tester des projets logiciels en continu, tout comme CruiseControl ou DamageControl.En un mot, Jenkins fournit un système d'intégration continue facile à utiliser, permettant aux développeurs d'intégrer plus facilement les modifications apportées au projet et aux utilisateurs d'obtenir plus facilement une nouvelle version.La construction automatisée et continue augmente la productivité.
  • Surveillance des exécutions de tâches exécutées en externe, telles que les tâches cron et procmail, même celles exécutées sur une machine distante.Par exemple, avec cron, tout ce que vous recevez, ce sont des e-mails réguliers qui capturent le résultat, et c'est à vous de les examiner avec diligence et de remarquer quand il s'est cassé.Jenkins conserve ces sorties et vous permet de remarquer facilement quand quelque chose ne va pas.

Il a été initialement conçu pour Java, il s'intègre donc bien à de nombreux autres outils Java, mais vous pouvez l'utiliser avec n'importe quel langage, y compris tous ceux mentionnés par l'OP.

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