현재 널리 사용되는 Linux 배포판(예: Ubuntu, Debian, RedHat 등)에서는 어떤 분산 빌드 도구가 사용됩니까?
예를 들어, 우리는 종속성이 있는 많은 수의 패키지를 가지고 있으며 새 버전의 배포판을 위해 모든 패키지를 컴파일하려고 합니다. 하나씩 구축하려면 시간이 많이 걸립니다. distcc에 대해 들어본 적이 있지만 분산 병렬 빌드를 위해 서버 간에 프로젝트 컴파일을 공유합니다.
패키지 간의 종속성을 분석(예: 그래프 생성)하고 패키지 수준 병렬 처리를 사용하여 구축된 일정을 생성할 수 있는 도구가 있습니까? 예를 들어 패키지 p1, p2, p3, p4와 두 개의 서버가 있습니다. 서로 종속되지 않는 경우 한 서버는 p1과 다른 p2를 동시에 빌드합니다.
프로덕션에 사용되는 프로젝트의 예가 필요합니다.
답변1
각 배포판에는 고유한 도구 세트가 있는 경향이 있으며 여기에는 셰어웨어가 많지 않습니다.
데비안은 를 사용하며 wanna-build
모두 문서화되어 있음을 알 수 있습니다 buildd
.sbuild
데비안 웹사이트에서(링크도 클릭해 보세요.) wanna-build
빌드 대기열을 유지하고, buildd
빌드할 패키지를 선택하고 sbuild
빌드하세요. wanna-build
종속성이 누락된 패키지를 추적하려면 다음 명령을 사용하십시오."대기" 상태;패키지는 직접 이 상태로 들어갈 수 있습니다( wanna-build
자체가 누락된 종속성을 인식하는 경우). 또는 누락된 종속성으로 인해 빌드가 실패한 후에 가능합니다. 하나 있다지도 시간로컬 빌드 인프라를 설정하려는 경우 사용할 수 있습니다.
페도라가 사용하는코지,지금 바로광범위하게 문서화됨. 그것은 또한다양한 구성 요소가 포함되어 있습니다., koji-hub
중앙 집중식 데이터베이스 프런트 엔드 및 kojid
드라이버 기반 데이터베이스를 포함합니다. 저는 Koji에 대해 잘 알지 못하기 때문에 빌드 상태를 처리하기 위해 Koji가 어떻게 통합되는지 모르겠습니다.
다른 배포판에는 다음과 같은 다른 빌드 시스템이 있습니다.발사대. 모든 패키지에 대한 중앙 집중식 보기, 여러 빌드 시스템, 빌드 결과를 수신하기 위한 중앙 저장소 등 모두 여러분이 관심을 갖는 동일한 문제를 처리합니다.