172 votes

Qu'est-ce qu'un outil de construction ?

Au cours des quatre dernières années, j'ai programmé avec Eclipse (pour Java) et Visual Studio Express (pour C#). Les IDE mentionnés semblaient toujours fournir toutes les facilités qu'un programmeur pourrait demander (liées à la programmation, bien sûr).

Dernièrement, j'ai entendu parler de quelque chose appelé "outils de construction". J'ai entendu dire qu'ils sont utilisés dans presque tous les types de développement du monde réel. Que sont-ils exactement ? Quels sont les problèmes qu'ils sont censés résoudre ? Comment se fait-il que je n'en ai jamais eu besoin au cours des quatre dernières années ? Sont-ils des sortes d'IDE dépouillés en ligne de commande ?

164voto

Ritesh Gune Points 6516

Que sont les outils de construction ?

Les outils de construction sont des programmes qui automatisent la création de fichiers exécutables. d'applications exécutables à partir du code source (par ex, .apk pour une application Android). La construction de comprend la compilation, l'édition de liens et l'emballage du code sous une forme utilisable ou utilisable ou exécutable.

Fondamentalement, l'automatisation de la construction est l'acte de script ou d'automatisation d'une grande variété de tâches que les développeurs de logiciels font dans la vie quotidienne. grande variété de tâches que les développeurs de logiciels effectuent au quotidien. quotidiennes comme :

  1. Téléchargement des dépendances.
  2. Compilation du code source en code binaire.
  3. Emballer ce code binaire.
  4. Tests en cours.
  5. Déploiement sur les systèmes de production.

Pourquoi utiliser des outils de construction ou l'automatisation de la construction ?

Dans les petits projets, les développeurs invoqueront souvent manuellement la fonction de construction. manuellement. Ceci n'est pas pratique pour les projets plus importants, où il est très difficile de suivre ce qui doit être construit, dans quel ordre et quelles sont les quelles dépendances il y a dans le processus de construction. L'utilisation d'une outil d'automatisation permet au processus de construction d'être plus cohérent.

Divers outils de construction disponibles (pour n'en citer que quelques-uns) :

  1. Pour java - Ant, Maven, Gradle.
  2. Pour le cadre .NET - NAnt
  3. c# - MsBuild.

Pour plus d'informations, vous pouvez consulter les liens suivants :

1. Construire l'automatisation

2. Liste des logiciels d'automatisation de la construction

Merci.

22voto

Schroedingers Cat Points 2383

Les outils de construction sont des outils permettant de gérer et d'organiser vos constructions, et sont très importants dans les environnements où il y a de nombreux projets, surtout s'ils sont interconnectés. Ils servent à s'assurer que lorsque différentes personnes travaillent sur différents projets, elles ne cassent rien. Et pour s'assurer que lorsque vous apportez vos modifications, elles ne cassent rien non plus.

La raison pour laquelle vous n'en avez pas entendu parler auparavant est que vous n'avez jamais travaillé dans un environnement commercial. Il y a tout un tas de choses que vous n'avez probablement pas rencontrées et que vous rencontrerez dans un environnement commercial, surtout si vous travaillez dans une entreprise de logiciels.

Comme d'autres l'ont dit, vous les avez utilisés, mais vous n'avez pas eu à les prendre en compte, car vous avez probablement travaillé d'une manière différente de la méthode de travail commerciale habituelle.

11voto

duffymo Points 188155

Les outils de construction sont généralement exécutés en ligne de commande, soit à l'intérieur d'un IDE, soit de manière complètement indépendante.

L'idée est de séparer le travail de compilation et de conditionnement de votre code de la création, du débogage, etc.

Un outil de construction peut être exécuté sur la commande ou dans un IDE, les deux étant déclenchés par vous. Ils peuvent également être utilisés par les outils d'intégration continue après avoir vérifié votre code à partir d'un référentiel et sur une machine de construction propre.

make était un outil de commande précoce utilisé dans les environnements *nix pour la construction de C/C++.

En tant que développeur Java, les outils de construction les plus populaires sont Ant et Maven. Tous deux peuvent être exécutés dans des IDE comme IntelliJ, Eclipse ou NetBeans. Ils peuvent également être utilisés par des outils d'intégration continue comme Cruise Control ou Hudson.

6 votes

Maintenant, Gradle est aussi largement utilisé

0 votes

Pas de mon point de vue. Je ne connaissais pas Gradle, donc merci pour la référence.

0 votes

@duffymo Pourriez-vous développer la dernière ligne. Qu'est-ce que l'intégration continue ? Comment sont-elles liées aux outils de construction ?

7voto

Baiyan Huang Points 1930

Les outils de compilation servent généralement à transformer le code source en binaires - ils organisent le code source, définissent les drapeaux de compilation, gèrent les dépendances... certains d'entre eux intègrent également l'exécution de tests unitaires, l'analyse statique et la génération de documentation.

Eclipse ou Visual Studio sont également des systèmes de construction (mais plutôt des IDE), et pour Visual Studio, c'est le msbuild sous-jacent qui analyse les fichiers de projet Visual Studio sous le capot.

L'origine de tous les systèmes de construction semble être le fameux "make".

Il existe des systèmes de construction pour différentes langues :

  1. C++ : make, cmake, premake
  2. Java : ant+ivy, maven, gradle
  3. C# : msbuild

Habituellement, les systèmes de build utilisent soit un langage propre au domaine (make, cmake), soit du xml (ant, maven, msbuild) pour spécifier un build. La tendance actuelle est d'utiliser un vrai langage de script pour écrire des script, comme lua pour premake, et groovy pour gradle, l'avantage d'utiliser un script est qu'il est beaucoup plus flexible, et vous permet également de venir avec un ensemble d'API standard (comme build DSL).

0voto

Ed Heal Points 24309

Vous les avez utilisés - l'IDE est un outil de construction. Pour la ligne de commande, vous pouvez utiliser des choses comme make .

Les gens utilisent des outils en ligne de commande pour des choses comme la construction nocturne - ainsi, le matin, avec une gueule de bois, le programmeur s'est rendu compte que le code qu'il a bricolé avec les dernières constructions des bibliothèques ne fonctionne pas !

12 votes

Habituellement, l'IDE est no un outil de construction, mais il s'intègre à un outil de construction ou l'appelle. Par exemple, Visual Studio appelle normalement MSBuild.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X