2016-07-23 7 views
2

여러 개의 (소스) 리포지토리가 있습니다. 커밋이이 리포지토리 중 하나에 푸시 될 때마다 소스를 빌드하고 결과를 다른 (대상) 저장소로 푸시하는 작업이 트리거되어야합니다.Phabricator에서 빌드의 순차 화 및 병렬화

소스 리포지토리는 Phabricator에서 호스팅됩니다. 대상 저장소는 별도로 호스팅됩니다. 젠킨스는 모든 저장소에 액세스 할 수 있습니다.

내가 무슨 짓을했는지 것은 :

  • 지표화 된 스크립트를 통해 빌드 작업을 수행 젠킨스의 프로젝트
  • 젠킨스
  • 헤럴드을 요구하는 Make HTTP Request 빌드 단계와 Harbormaster에서 빌드 계획 규칙이 소스 저장소 중 하나에 푸시 될 때마다 Harbormaster 빌드 계획을 트리거하는 규칙

어떻게 할 수 있습니까? 하나의 소스 저장소의 모든 푸시 된 커밋이 올바른 순서로 빌드되었는지 확인하십시오. 그리고 여러 소스 저장소 사이에서 빌드를 어떻게 병렬화 할 수 있습니까?

필자가 피해야 할 것은 젠킨스 및/또는 Harbormaster에서 각각의 소스 리포지토리에 대한 (거대한) 설치 프로그램입니다.

답변

0

짧은 답변은 Herald/Harbormaster입니다. 프로세스 순서가 항상 저장소의 커밋 순서와 동일해야합니다. 커밋을 비 순차적으로 처리하지 않으려면 빌드 단계에 대한 종속성으로 Wait for Previous Commits to Build 빌드 단계를 사용해야합니다.

여러 저장소 사이의 처리를 병렬 처리하기 위해 각각의 저장소가 특정 (분리 된) 저장소 세트를 담당하는 여러 빌드 계획 옆에 다른 가능성이 없습니다. 그러나 그들은 모두 겐 킨스 (Jenkins)에서 하나의 직업을 사용할 수 있습니다. 왜냐하면 Phabricator가 프로세스 명령을 담당하는 유일한 사람이기 때문입니다.

https://secure.phabricator.com/Q453도 참조하십시오.