Si nous voulons aller au-delà des coureurs de tâches spécialisés et des systèmes de construction Web, nous pensons probablement à la marque originale. Make est une application assez simple mais puissante qui suit une conception claire et concise.
Dans cet article, nous allons examiner d'autres systèmes de construction populaires, qui peuvent répondre à vos exigences encore mieux que les solutions traditionnelles. La liste est naturellement loin d'être complète, mais tout ce qui est là en raison de ses caractéristiques, de son impact ou de son caractère unique.
La version initiale de la marque a été écrite pour le système d'exploitation UNIX, mais plus tard, d'autres implémentations et réécritures se sont produites, y compris la marque GNU. Il est nécessaire pour construire le noyau Linux. Cette implémentation offre tout ce que la version originale avait, ainsi que des extensions et des améliorations supplémentaires.
Le concept de base est d'écrire un fichier spécial, appelé «MakeFile», qui décrit les règles pour créer une application. Chaque règle peut s'appuyer sur d'autres règles données, formant une hiérarchie. Une règle existe généralement sous la forme d'une cible de construction ou d'un fichier de sortie. L'idée est qu'une seule règle définit comment créer un fichier de sortie à partir d'un ou plusieurs fichiers d'entrée requis.
Le concept peut sembler simple, mais sauve les développeurs de la nécessité de créer leurs propres systèmes pour évaluer si un fichier de sortie devait être créé ou non. Make nous donne une couche d'abstraction qui effectue automatiquement les vérifications requises. Chaque dépendance d'une règle est implicitement vérifiée pour déterminer si le fichier d'entrée a changé depuis la dernière génération de fichiers de sortie. Cela accélère les processus de construction logicielle en omettant des compilations redondantes.
L'un des premiers successeurs à faire a été Cmake, avec «C» debout pour la plate-forme multipliée. Il dispose d'une véritable solution multiplateforme pour la création de logiciels. Par conséquent, il est principalement populaire dans les projets qui devraient être déployés sur différentes plateformes. Les fichiers de configuration peuvent être écrits avec un langage de script qui comporte une grande liste de commandes.
Cmake seul ne peut pas exécuter un processus de construction. Il créera un fichier spécifique à la plate-forme, qui serait un makefile sur Linux. Sur Windows, un fichier de projet compatible Visual Studio serait créé, mais il existe également d'autres options telles que l'utilisation d'un makefile. Cependant, Cmake est bien plus qu'une simple couche en haut de la marque d'origine. Il peut également détecter automatiquement les dépendances dans des langues telles que C et Java. Cela rend le processus de construction plus fiable.
Une autre fonctionnalité intéressante qui est livrée avec CMake est sa capacité à créer des packages dans différents formats. Si nous pensons au déploiement, la création d'un package ressemble à la dernière étape et probablement aussi la plus ennuyeuse. Avoir une solution prédéfinie pour le processus nous donne beaucoup de confort.
Pourquoi ne pas créer un outil de construction spécifiquement pour un langage de programmation? Nous pourrions nommer des outils comme Msbuild ou d'autres, ce qui peut être considéré comme une telle tentative. Mais que se passe-t-il si nous voulons aller plus loin et utiliser également ce langage de programmation pour les fichiers de configuration? Entrez dans le monde de Rake.
Rake n'était pas le premier outil de construction qui a utilisé un langage de script existant pour configurer le processus de construction. Néanmoins, son impact est indéniable. C'est la norme de facto pour les développeurs de rubis et depuis Ruby 1.9, Rake fait également partie de la bibliothèque standard.
"Quel est le principal avantage du râteau?" Vous pourriez demander. Tout d'abord, il peut traiter les fichiers source Ruby par défaut. De plus, les développeurs de Ruby peuvent l'utiliser instantanément, car il ne nécessite pas de nouveau langage ou de cadre pour être appris. Seule l'API de l'outil est nouvelle, mais le reste est familier et suit les modèles et principes connus. Enfin, Rake utilise la correspondance avancée de Ruby pour former des expressions régulières en filtres pour les règles. Pour un peu plus sur Rake, consultez cet article sur SitePoint.
Il existe des dizaines d'autres outils de construction qui suivent l'approche de Rake, mais celle que je veux mettre en évidence est faux. La raison est simple: il utilise un langage fonctionnel puissant qui a accès à l'ensemble du framework .NET. Pour bien comprendre l'idée derrière Fake, il est important de savoir que Fake a été créé à un moment où les langues spécifiques au domaine (DSL) semblaient être l'arme ultime.
Les principes de base des faux sont probablement très similaires à Jake. Ce qui différencie les faux des concurrents, c'est l'utilisation de l'opérateur de tuyaux F #. Cet opérateur donne à l'ensemble de la configuration de construction une touche courante. L'intégration avec (.NET) des cadres de test unitaires, ajoute les tests comme une partie cruciale du processus de construction (post-).
Avoir un outil de construction écrit en javascript pour l'environnement Node.js, cela semble être une bonne idée. Étant donné que Node.js fonctionne sur diverses plates-formes, l'outil de construction fonctionnera également sur ces plates-formes. De plus, nous obtenons les avantages de l'exécution rapide, des rappels simultanés et une grande expérience de débogage.
Jake, dont j'ai discuté dans mon premier article sur SitePoint, suit le même concept de dépendance aux règles utilisés par Make mais aromatisé avec une correspondance de motifs comme dans Rake. De plus, nous avons les capacités d'emballage, qui peuvent nous aider à créer des faisceaux de distribution, et les versions parallèles sont prises en charge.
De nos jours, nous avons une grande variété de possibilités pour notre logiciel de processus de construction d'applications. Même si la marque est toujours le programme le plus utilisé pour automatiser les processus de construction dans certains contextes, d'autres applications offrent des fonctionnalités intéressantes, ce qui peut simplifier beaucoup les tâches souhaitées.
Un autre facteur important à considérer est la familiarité avec le langage de programmation utilisé. Par exemple, une équipe composée de développeurs JavaScript devrait être assez à l'aise avec Jake. Il est vraiment important que chaque membre de l'équipe soit en mesure de lire, de comprendre et même de modifier le processus de construction au besoin.
C'est notre travail de décider quel outil à considérer, et cet article aurait dû vous convaincre qu'il vaut la peine de regarder plusieurs candidats avant de décider quel outil utiliser, car ils ont tous quelque chose d'unique à offrir.
Quel est votre système de construction préféré? Avez-vous d'autres recommandations?
Rake et fabriquer sont tous deux des systèmes de construction populaires, mais ils ont des différences clés. Rake est écrit en Ruby et est souvent utilisé dans des projets Ruby. Il a une syntaxe claire et est facile à lire et à écrire. Il prend également en charge l'exécution parallèle des tâches. D'un autre côté, Make est un système beaucoup plus ancien, écrit en C. Il est largement utilisé dans les projets C et C. Makefiles, les scripts qui font des utilisations, peuvent être difficiles à lire et à écrire, mais ils sont très puissants et flexibles. Make prend également en charge l'exécution parallèle des tâches.
Cmake est un générateur de système de construction multiplateforme. Contrairement à Make and Rake, qui sont eux-mêmes des systèmes de construction, CMake génère des fichiers de construction pour d'autres systèmes, notamment Make et Visual Studio. Cela le rend très flexible et puissant, car il peut être utilisé avec une grande variété de compilateurs et d'environnements. Cependant, il peut être plus complexe à utiliser que de faire ou de ramener.
Les systèmes de construction automatisent le processus de compilation et de liaison du code, ce qui peut permettre aux développeurs de beaucoup de temps et d'efforts. Ils garantissent également que le processus de construction est cohérent, ce qui peut aider à prévenir les bogues et les erreurs. De plus, les systèmes de construction prennent souvent en charge l'exécution parallèle des tâches, ce qui peut considérablement accélérer le processus de construction.
Oui, il est possible d'utiliser Systèmes de construction multiples dans un seul projet. Cependant, cela peut ajouter de la complexité et rendre le processus de construction plus difficile à gérer. Il est généralement préférable de choisir un système de construction qui correspond à vos besoins et de s'en tenir. Une variété de facteurs, y compris la langue que vous utilisez, la complexité de votre projet et vos préférences personnelles. Vous devez considérer les caractéristiques, la flexibilité et la facilité d'utilisation de chaque système. Il peut également être utile de regarder quels systèmes de construction sont couramment utilisés dans des projets similaires.
Bien que les systèmes de construction offrent de nombreux avantages, ils peuvent également avoir quelques inconvénients. Ils peuvent ajouter de la complexité à votre projet, et ils peuvent être difficiles à installer et à utiliser, en particulier pour les débutants. De plus, si vous travaillez sur un projet petit ou simple, un système de construction peut être exagéré.
L'exécution parallèle est une caractéristique de nombreux systèmes de construction Cela permet d'exécuter plusieurs tâches en même temps. Cela peut accélérer considérablement le processus de construction, en particulier sur les processeurs multicœurs. Cependant, cela peut également rendre le processus de construction plus complexe et plus difficile à gérer.
La meilleure façon d'apprendre un nouveau système de construction est de Utilisez-le dans un projet. Commencez par un projet simple et augmentez progressivement la complexité à mesure que vous devenez plus à l'aise avec le système. Vous pouvez également trouver de nombreux tutoriels et guides en ligne qui peuvent vous aider à démarrer.
Oui, il est possible de changer de système de construction dans le milieu d'un projet, mais il peut s'agir d'un processus complexe et long. Vous devrez réécrire vos scripts de construction et éventuellement apporter des modifications à votre code. Il est généralement préférable de choisir un système de build au début d'un projet et de s'en tenir. . Il indique au système de construction quelles tâches effectuer et dans quel ordre. Le format exact et la syntaxe d'un script de construction dépend du système de construction que vous utilisez.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!