빌드 시스템은 엔지니어링 조직에서 가장 중요한 부분 중 하나입니다. 각 개발자가 하루에 수십 번 또는 수백 번 빌드 시스템과 상호작용할 수 있기 때문입니다. 개발자는 모든 기능을 갖춘 빌드 시스템이 필요합니다. 생산성을 향상시키는 데 도움이 됩니다. 개별 개발자의 경우 코드를 컴파일하기만 하면 되므로 빌드 시스템은 과다하지 않습니다. 그러나 더 큰 규모에서 빌드 시스템을 보유하면 코드베이스의 다른 부분에 의존하거나 외부 리소스(예: 라이브러리)에 액세스할 수 있습니다 빌드 시스템은 코드 빌드를 시작하기 전에 코드를 빌드하는 데 필요한 모든 것을 갖추는 것입니다. 엔지니어가 리소스와 결과를 공유할 수 있도록 설정된 경우 빌드 시스템은 속도도 높입니다.
이 섹션에서는 Bazel을 만드는 데 사용된 설계 결정을 비롯하여 빌드 및 빌드 시스템의 역사와 기본사항을 다룹니다. Bazel, Buck, Pants와 같은 아티팩트 기반 빌드 시스템에 익숙한 경우 이 섹션을 건너뛰어도 되지만, 아티팩트 기반 빌드 시스템이 확장을 지원하는 데 뛰어난 이유를 이해하는 데 도움이 되는 개요입니다.
-
이전에 빌드 시스템을 사용한 적이 없다면 여기에서 시작해 보세요. 이 페이지에서 다루는 이유 빌드 시스템을 사용해야 하는 이유와 컴파일러와 빌드 스크립트가 몇 가지 범주 이상으로 확장하기 시작하면 가장 적합한 선택이 될 것입니다 있습니다.
-
이 페이지에서는 Make, Maven, Gradle과 같은 태스크 기반 빌드 시스템과 몇 가지 과제를 설명합니다.
-
이 페이지에서는 태스크 기반 빌드 시스템의 문제점에 대응하여 아티팩트 기반 빌드 시스템을 설명합니다.
-
이 페이지에서는 배포된 빌드 또는 외부에서 실행되는 빌드에 대해 설명합니다. 실행할 수 있습니다 이를 위해서는 보다 강력한 인프라와 빌드 결과 (이곳에서 진정한 마법이 일어납니다!)
-
이 페이지에서는 대규모 종속 항목의 몇 가지 문제와 이러한 문제를 해결하기 위한 전략을 설명합니다.