Podstawy kompilacji

System kompilacji to jedna z najważniejszych części organizacji inżynierów, ponieważ każdy deweloper kontaktuje się z nim potencjalnie dziesiątki, a nawet setki razy dziennie. W pełni wyposażony system kompilacji jest niezbędny do zapewnienia produktywności programistów w miarę skalowania organizacji. W przypadku poszczególnych deweloperów proste jest skompilowanie kodu, więc system kompilacji może się wydawać nadmierny. Jednak na większą skalę system kompilacji pomaga w zarządzaniu wspólnymi zależnościami, takimi jak poleganie na innej części bazy kodu lub zasobach zewnętrznych, np. bibliotece. Dzięki systemom kompilacji możesz mieć pewność, że masz wszystko, czego potrzebujesz, aby utworzyć kod przed rozpoczęciem tworzenia. Systemy kompilacji zwiększają też szybkość, gdy pomagają inżynierom dzielić się zasobami i wynikami.

W tej sekcji omówimy historię i podstawy tworzenia oraz budowania systemów, w tym decyzje projektowe, które doprowadziły do powstania bazylu. Jeśli znasz systemy kompilacji oparte na artefaktach, takie jak Bazel, Buck i Spodnie, możesz pominąć tę sekcję, ale warto się tam zorientować, dlaczego te systemy są która pozwala na skalowanie.

  • Dlaczego warto utworzyć system kompilacji?

    Jeśli jeszcze nie korzystasz z systemu kompilacji, zacznij tutaj. Na tej stronie omawiamy, dlaczego warto korzystać z systemu kompilacji oraz dlaczego kompilatory i skrypty kompilacji nie są najlepszym rozwiązaniem, gdy organizacja zaczyna skalować dalej niż niektórzy deweloperzy.

  • Systemy kompilacji opartej na zadaniach

    Na tej stronie omawiamy systemy kompilacji oparte na zadaniach (takie jak Make, Maven i Gradle) oraz związane z nimi wyzwania.

  • Systemy kompilacji oparte na artefaktach

    Ta strona omawia systemy kompilacji oparte na artefaktach w odpowiedzi na problemy systemów kompilacji oparte na zadaniach.

  • Kompilacje rozproszone

    Ta strona zawiera kompilacje rozproszone lub kompilacje wykonywane poza komputerem lokalnym. Do udostępnienia zasobów i osiągnięcia wyników potrzebujesz bardziej niezawodnej infrastruktury (i to w niej dzieje się prawdziwe czarodzieje!).

  • Zarządzanie zależnością

    Na tej stronie omawiamy trochę powikłań związanych z zagrożeniami na dużą skalę oraz strategie zapobiegania tym problemom.