Question

Il y a beaucoup de questions sur ici concernant différents besoins de construction de niche (.NET, intégration continue, etc.) mais, bien sûr, mes besoins de niche sont différents.

Plutôt que de poser une question très précise maintenant, je souhaiterais un aperçu des outils de construction disponibles (tels que make, ant, etc.) afin que je puisse poser une question complémentaire plus intelligemment si nécessaire.

Dans votre réponse, veuillez inclure:

  • UN outil de création
  • Lien vers la page principale concernant cet outil
  • Si vous connaissez les avantages et les inconvénients (par exemple, s’exécute sous Windows avec cygwin ou spécifique à .NET, etc.), répertoriez-en (non requis - le nom et le lien sont obligatoires)

Si votre outil de génération figure déjà dans une réponse, commentez-le en ajoutant des avantages, des inconvénients, des limitations et des expériences. N'hésitez pas à ajouter autant de réponses que vous le souhaitez tant qu'elles n'existent pas déjà, mais ne mettez pas plusieurs outils de compilation dans une même réponse.

Sachez que si vous dupliquez des réponses, vous risquez d’être rétrogradé. Ajoutez des informations supplémentaires sur une construction donnée dans les commentaires. Idéalement, ces commentaires seront intégrés à la réponse au fil du temps.

-Adam

Était-ce utile?

La solution

Apache Maven

Avantages:

  • Gestion automatique des dépendances
  • Utilise la convention sur la configuration (applique des structures de répertoire de projet cohérentes)
  • Les projets utilisant maven peuvent être construits en quelques minutes
  • Excellente prise en charge des projets standard Java / Java EE
  • Fonctionne bien dans un environnement d'équipe (prend en charge les "configurations d'équipe")
  • Concepts de version / versioning intégrés
  • Intégration avec les IDE Java les plus populaires
  • Soutien croissant dans la communauté Java OSS

Inconvénients:

  • Courbe d'apprentissage abrupte (surtout comparée à Ant)
  • Mauvaise documentation en ligne (le nouveau livre est excellent)
  • Comportement parfois surprenant
  • Très java-centric
  • Basé sur la configuration XML

Autres conseils

SCons

Les scripts de construction sont des scripts Python. Censé fonctionner sur Linux, Windows, Mac OS X.

NAnt

http://nant.sourceforge.net/

Semblable à Ant, un outil de compilation pour .Net

Ratisser

Version ruby ??de la marque

Avantages:

  • Nettoyer la syntaxe idiomatique de ruby ??
  • Les fichiers rake sont écrits en ruby, donc utilisez ruby ??lui-même plutôt que le format de fichier propriétaire ou XML
  • Ruby on Rails étroitement intégré à ce dernier

Inconvénients:

  • Requiert le rubis, qui n'est pas toujours disponible
  • Pas de support de packaging intégré / gestion de versions / gestion des dépendances (voir rubygems )

premake

Construire un générateur de script. Utilise Lua pour décrire la construction. Il peut générer des fichiers Makefile ou de projet pour Visual Studio, Code :: Blocks, CodeLite, SharpDevelop, MonoDevelop, etc. Prise en charge intégrée de C, C ++, C #, notamment des ressources et ASP.NET. Mono support.

Famille de confiture.

BJam est basé sur FTJam, lui-même basé sur Jam. Petit, rapide, portable. Analyse automatique des dépendances en C, C ++. Ce n'est pas un générateur - il ne génère aucun fichier Makefile ou autre fichier de construction pour les systèmes de construction secondaires.

CMake

Générateur de système de compilation multiplate-forme. Il peut générer des fichiers Makefile ou des projets pour Visual Studio, Eclipse CDT, KDevelop, Code :: Blocks, etc. Analyse automatique des dépendances en C, C ++, Fortran, Java.

Apache Ant

Pro:

  • plusieurs tâches / plugins
  • fonctionne sur plusieurs plates-formes
  • très mature
  • est pris en charge par de nombreux IDE, outils d’intégration continue, etc.

Con:

  • requiert Java

FinalBuilder

Avantages

  • Visuel et orienté graphique contrairement à ant ou make
  • Nombreuses actions intégrées
  • Générateur de scripts pour vos propres actions
  • s'intègre facilement à cc.net

Contre

  • Ne fonctionne que sous Windows
  • Pas gratuit, mais vous en aurez pour votre argent

Ils ont également un outil appelé Automise qui effectue davantage de tâches orientées système.

Ville d'équipe

Avantages

Inconvénients

  • Peut utiliser beaucoup de mémoire

CruiseControl / CruiseControl .Net

http://cruisecontrol.sourceforge.net/

Avantages

  • Peut utiliser divers outils de construction et TDD en fonction de la version choisie
  • Automatiser quand et quelle sorte de construction - version complète ou version modifiée du code
  • Peut exécuter automatiquement des tests (nUnit, jUnit, Fitnesse, etc.) sur un build pour s'assurer que tous les tests réussissent quand un nouveau code est archivé dans le projet.
  • Intègre le contrôle de source
  • Rapport d'erreur et notification en cas d'échec des générations

Inconvénients

  • Les rapports d'erreur ne sont pas toujours dans un format agréable à lire
  • La configuration des projets doit être bien pensée et tous les projets surveillés doivent utiliser certains modèles pour rendre la configuration de l'intégration plus efficace.

PSake (prononcé "Sake")

Avantages -

  • Powershell

Inconvénients -

  • Powershell:)

Ce projet est relativement nouveau, semble intéressant et serait très puissant puisqu'il est ".NET en ligne de commande". Malheureusement, je ne connais pas beaucoup de gens qui prennent le temps d'apprendre Powershell.

contre

Avantages:

  • Utilise Perl, si vous aimez ce genre de chose
  • Je ne l'ai pas utilisé sinon : -)

Inconvénients:

  • Difficile à Google pour!
  • Pas activement développé?

UppercuT -

Quelques bonnes explications ici: UppercuT

Avantages -

  • Très facile à démarrer - Des constructions automatisées aussi simples que (1) nom de la solution, (2) chemin de contrôle de la source, (3) nom de la société pour la plupart des projets !!!
  • Connaissance limitée de NAnt nécessaire.

Inconvénients -

  • Disponible uniquement pour .NET

NUBuild (prononcé "New-Build")

NUBuild, le dernier et le plus avancé des outils de compilation .Net (très intelligent), vous permet de créer des projets VB.Net et C #. Il est extrêmement léger, à code source ouvert et à la fois facile à configurer et offre une maintenance presque sans contact.

  • Interface de ligne de commande facile à utiliser
  • Possibilité de cibler toutes les versions du framework .Net, à savoir les versions 1.1, 2.0, 3.0 et 3.5
  • Prend en charge la configuration basée sur XML
  • Prend en charge les références de projet et de fichier
  • Génère automatiquement la "liste de construction complète commandée" pour un projet donné
  • Possibilité de détecter et d'afficher des dépendances circulaires Effectuer une construction parallèle
  • Possibilité de gérer les assemblys proxy
  • Intégration aisée avec le système d’intégration continue Cruise-Control.Net
  • Fonction de gestion de version
  • Fonction de notification

http://nubuild.codeplex.com/

C’est le meilleur outil de construction que nous ayons vu jusqu’à présent!

Fichier de cuisson

Bakefile est un générateur de makefiles natif multi-plateforme et multi-compilateur. Il prend en entrée la description (XML) indépendante du compilateur des tâches de construction et génère le makefile natif (le fichier Makefile.in d’autoconf, le projet Visual C ++, le fichier makefile bcc, etc.).

La tâche de Bakefile est de générer des fichiers Make natifs, afin que les utilisateurs puissent continuer à utiliser leurs outils favoris. Il existe d'autres solutions multi-plates-formes, mais elles ne sont pas natives et nécessitent que l'utilisateur utilise des outils inconnus (Boost.Build) ou sont trop limitées (qmake).

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