Le BazelCon 2022 se déroulera du 16 au 17 novembre à New York et en ligne.
S'inscrire

Principes de base de la compilation

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Un système de compilation constitue l'un des éléments les plus importants d'une organisation d'ingénierie, car chaque développeur interagit avec lui des dizaines, voire des centaines de fois par jour. Un système de compilation complet est nécessaire pour assurer la productivité des développeurs à mesure que l'organisation évolue. Pour les développeurs individuels, il est simple de compiler votre code. Un système de compilation peut donc sembler excessif. Mais à plus grande échelle, disposer d'un système de compilation facilite la gestion des dépendances partagées, par exemple en s'appuyant sur une autre partie du code base ou une ressource externe, telle qu'une bibliothèque. Les systèmes de compilation vous permettent de vous assurer que vous avez tout ce dont vous avez besoin pour compiler votre code avant de commencer. Les systèmes de compilation augmentent également la vitesse lorsqu'ils sont configurés pour aider les ingénieurs à partager des ressources et des résultats.

Cette section couvre l'historique et les principes de base de la création et de la conception de systèmes, y compris des décisions relatives à la conception ayant pris la forme de Bazel. Si vous connaissez les systèmes de compilation basés sur des artefacts, tels que Bazel, Buck et Pants, vous pouvez ignorer cette section, mais il s'agit d'une présentation utile pour comprendre pourquoi les systèmes de compilation basés sur des artefacts sont pour gagner en évolutivité.

  • Pourquoi utiliser un système de compilation ?

    Si vous n'avez jamais utilisé de système de compilation, commencez ici. Cette page vous explique pourquoi utiliser un système de compilation, et pourquoi les compilateurs et les scripts de compilation ne constituent pas le meilleur choix une fois que votre organisation commence à évoluer au-delà de quelques développeurs.

  • Systèmes de compilation basés sur des tâches

    Cette page présente les systèmes de compilation basés sur des tâches (tels que Make, Maven et Gradle) et certaines de leurs problématiques.

  • Systèmes de compilation basés sur les artefacts

    Cette page traite des systèmes de compilation basés sur des artefacts en réponse aux difficultés des systèmes de compilation basés sur des tâches.

  • Builds distribués

    Cette page couvre les builds distribués ou les builds exécutés en dehors de votre machine locale. Cela nécessite une infrastructure plus robuste pour partager des ressources et générer des résultats (et c'est là que la magie opère !)

  • Gestion des dépendances

    Cette page décrit certaines difficultés liées aux dépendances à grande échelle et présente des stratégies pour y remédier.