빌드 기본사항

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
문제 신고 소스 보기

빌드 시스템은 엔지니어링 조직에서 가장 중요한 부분 중 하나이며 각 개발자가 하루에도 수십 번 또는 수백 번 상호작용할 수 있기 때문입니다. 조직의 확장에 따라 개발자의 생산성을 지원하기 위해서는 모든 기능을 갖춘 빌드 시스템이 필요합니다. 개별 개발자의 경우 코드 컴파일이 간단하므로 빌드 시스템이 과도하게 보일 수 있습니다. 그러나 빌드 시스템이 더 규모가 크면 공유 종속 항목을 관리하는 데 도움이 됩니다. 예를 들어 코드베이스의 다른 부분이나 라이브러리와 같은 외부 리소스를 관리하는 것이 좋습니다. 빌드 시스템은 코드를 빌드하기 전에 코드를 빌드하는 데 필요한 모든 것을 갖추었는지 확인하는 데 도움이 됩니다. 또한 빌드 시스템은 엔지니어가 리소스와 결과를 공유할 수 있도록 설정 시 속도를 높입니다.

이 섹션에서는 Bazel을 만드는 데 사용된 디자인 결정을 비롯하여 빌드 및 빌드 시스템의 몇 가지 역사와 기본사항에 대해 설명합니다. Bazel, Buck, Pants와 같은 아티팩트 기반 빌드 시스템에 익숙한 경우 이 섹션을 건너뛸 수 있지만, 아티팩트 기반 빌드 시스템이 확장을 사용 설정하는 데 탁월한 이유를 이해하는 데 유용한 개요입니다.

  • 빌드 시스템을 사용해야 하는 이유

    이전에 빌드 시스템을 사용한 적이 없다면 여기에서 시작하세요. 이 페이지에서는 빌드 시스템을 사용해야 하는 이유와 조직에서 소수의 개발자 이상으로 확장하기 시작할 때 컴파일러와 빌드 스크립트가 최선의 선택이 아닌 이유를 설명합니다.

  • 작업 기반 빌드 시스템

    이 페이지에서는 작업 기반 빌드 시스템 (예: Make, Maven, Gradle) 및 관련 과제에 대해 설명합니다.

  • 아티팩트 기반 빌드 시스템

    이 페이지에서는 작업 기반 빌드 시스템의 문제점에 대한 응답으로 아티팩트 기반 빌드 시스템을 설명합니다.

  • 분산 빌드

    이 페이지에서는 분산 빌드 또는 로컬 머신 외부에서 실행되는 빌드를 설명합니다. 그러려면 리소스를 공유하고 결과를 빌드하기 위해 더 강력한 인프라가 필요하며, 실제로 뛰어난 마법사가 필요합니다.

  • 종속 항목 관리

    이 페이지에서는 대규모 종속 항목의 일부 복잡성과 이러한 정보 표시에 대응하는 전략을 다룹니다.