Buck : un outil de build open source développé par Facebook
Et qui supporte une variété de langages et de plateformes
Buck est un moteur de production développé est utilisé par Facebook. Les moteurs de production sont des programmes dont la fonction principale consiste à automatiser (ordonnancer et piloter) l’ensemble des actions (préprocessing, compilation, éditions des liens, etc.) contribuant, à partir de données source, à la production d'un ensemble logiciel opérationnel. En d’autres termes, ces outils automatisent une variété de tâches que les développeurs réalisent dans le cadre de leur activité quotidienne, comme le téléchargement des dépendances, la compilation du code source en code binaire, l’exécution de tests et le déploiement de systèmes de production.
Un moteur de production se distingue d'un simple script dans la mesure où il a pour objet de favoriser une production optimale (réduite aux seules actions nécessaires). Il vise également à permettre une flexibilité de production (production partielle sans avoir besoin de modifier le descriptif de production) tout en assurant la complétude.
Selon le site officiel du programme, Buck peut aider les équipes de développement de différentes façons.
Accélérer les builds. Buck crée des artefacts indépendants en parallèle pour tirer parti des cœurs multiples de votre machine. En plus, il réduit le temps de compilation en gardant trace des modules inchangés pour qu’un groupe minimal de modules soit régénéré.
Ajouter la répétabilité à vos builds. Buck utilise seulement les inputs déclarés, ce qui veut dire que tout le monde a les mêmes résultats.
Avoir des builds correctes et incrémentielles. Buck examine les contenus de vos entrées, et non pas leurs horodatages pour savoir ce qui doit être compilé. En conséquence, les builds incrémentielles doivent toujours être correctes, pour qu’il n’ait aucun besoin à produire une build propre.
Comprendre vos dépendances. Avec Buck query, vous pouvez mieux comprendre vos dépendances et ce qui est requis pour développer votre produit.
Intégration avec votre EDI. Avec buck project, votre projet peut être mieux saisi par votre EDI, vous rendant plus productifs, vous et votre équipe.
Ces moteurs de production deviennent plus intéressants une fois que vous travaillez sur un large éventail de projets. En effet, il est difficile de savoir ce qui doit être produit dans les projets larges, dans quelle séquence, et les dépendances nécessaires pour la compilation. Pour cette raison, l’utilisation d’un moteur de production permet de rendre ce processus plus uniforme. Pour les petits projets, les développeurs ont tendance à invoquer la compilation manuellement.
Buck a été rendu open source depuis un moment ! Il est particulièrement populaire auprès des grandes firmes employant beaucoup de développeurs contribuant à leurs applications mobiles. Buck est utilisé entre autres par Facebook, Airbnb, Lyft et Uber et constitue une alternative à Bazel de Google.
Source : Buck
Et vous ?
Qu'en pensez-vous ?
Partager