다양한 플랫폼/환경에 대해 C++ 교차 플랫폼 응용 프로그램을 빌드하는 병렬 빌드 팜을 작성 중입니다. 새로운 코드가 git repo에 푸시 될 때마다 모든 플랫폼에 대한 최신 코드를 빌드하고 테스트합니다.GNU 병렬 호스트 끈적한 작업
--sshlogin 옵션을 사용하여 여러 호스트간에 작업을 올바르게 분배하도록 병렬 설정을했습니다. 파일을 전송하고 결과 및 결과를 수집합니다. 모든 것이 잘 돌아가고 있으며 나는이 도구를 좋아합니다.
일부 플랫폼에서는 빌드 시간이 꽤 길기 때문에 가능한 한 증분으로 빌드하고 싶습니다.
내 유일한 문제는 스케줄러가 작업을 동일한 시스템에 보내고이 특정 호스트에서 이전 빌드의 아티팩트를 재사용하는 경우에만 빌드가 증분된다는 것입니다.
3 개의 호스트가 있다고 가정 해 봅시다. 빌드가 증가 할 때마다 3 번에 1 번 기회가 있습니다. 호스트가 잠시 동안이 플랫폼을 구축하지 않은 경우 오랜 시간이 걸릴 수 있습니다.
특정 입력 소스가 실행될 호스트를 제어 할 수 있으며 호스트가 사용중인 경우 다른 호스트로만 폴백 할 수 있습니까?
이상적으로는 입력 소스에 이름을 붙이고 여러 호스트에 이름을 붙인 태그 시스템을보고 싶습니다. 작업 풀과 해당 빌드 유형에 특화된 기계 풀을 만듭니다.
그러나 입력 소스가 sshlogins가 정의 된 순서와 동일한 순서로 배포되는 매우 간단한 구현은 내 상황에서 간단한 & 빠른 수정 일 수 있습니다.
내가 직접 구현할 소스 코드를 찾으려고했지만 사바나에서 코드를 탐색 할 때만 문서 생성을 볼 수 있습니다.
아이디어가 있으십니까?
감사합니다,
M