를 확인해 보세요. 에서 제공하는 Nix 플레이크를 발견하고 게시할 수 있는 최고의 장소입니다.

We use a single, first-party analytics cookie to focus our limited time and energy on the most important documentation. Check out our privacy policy .

증분 빌드

불필요한 단계(따라서 불필요한 빌드 리소스 및 시간)를 생략하는 패키지 빌드입니다.

Concepts / 증분 빌드

We recommend starting with the Nix quick start and consulting concept docs primarily for clarification. Feel free to click x to the right to disable this notification on all concept docs.

_증분 빌드_는 지능형 캐싱과 같은 메커니즘을 사용하여 이미 사용 가능한 아티팩트를 다시 빌드하는 것을 방지하므로 매번 소프트웨어 아티팩트의 전체 종속성 트리를 빌드할 필요가 없는 빌드 프로세스입니다. Nix는 증분 빌드를 제공하는 여러 사용 가능한 빌드 시스템 중 하나입니다.

Nix가 증분 빌드를 제공하는 방법

Nix는 모든 빌드 결과를 Nix 스토어에 저장하여 Nix 패키지에 대한 증분 빌드를 제공하는 여러 빌드 시스템 중 하나입니다.

Nix가 패키지를 빌드할 때마다 해당 패키지의 전체 클로저 또는 종속성 트리를 빌드합니다.

        
/nix/store/ 1. Nix store prefix
sglc12hc6pc68w5ppn2k56n6jcpaci16 2. Hash part
-
git-2.27.3 3. Package name

해시 부분을 통해 Nix는 빌드할 필요가 없는 것을 “알” 수 있습니다. final-production-artifact 패키지를 빌드하는 데 super-important-dependency 패키지가 필요한 경우 Nix는 super-important-dependency에 대한 파생을 검사하고 해당 종속성에 대한 해시를 계산하여 다음과 같은 Nix 스토어 경로를 계산할 수 있습니다.

        
/nix/store/
m7hsk1m4jkwy6pnns5gpn1kss22raan4
-
super-important-dependency

해당 정보를 확보하면 Nix는 다음 위치 중 하나에 이미 아티팩트가 있는지 확인할 수 있습니다.

Nix는 이러한 위치 중 하나에서 실현된 아티팩트를 발견하지 못한 경우에만 특정 파생을 빌드합니다. 이는 큰 클로저를 빌드할 때 큰 차이를 만들 수 있습니다.

Nix에서 증분 빌드의 결과

패키지는 여러 면에서 Nix의 중심 조직 아티팩트입니다. Nix 개발 환경은 패키지를 밀폐된 방식으로 사용할 수 있도록 만들고, NixOS는 Nix 패키지를 기반으로 빌드되는 등입니다. 이는 Nix의 증분 빌드가 Nix와 관련된 거의 모든 것을 훨씬 빠르고 리소스 집약도를 낮춘다는 것을 의미합니다.


Was this page helpful?