4

내가 예를 들어, 포크 빌드의 파이프 라인을 작성하고 포인트를 가입하고 싶은 구축 이것은 젠킨스에게 슬레이브가있을 때마다 병렬로 B/D와 C를 실행할 수있는 스케쥴링의 자유를 남겨 둡니다. B가 실행 된 후에는젠킨스 (허드슨) 병렬 사이의 관리 종속성 젠킨스 또는 허드슨을 사용

Join Plugin 바로 결합한다. Build Pipeline Plugin은 fork/join point를 지원하지 않습니다. Throttle Concurrent Builds Plugin (또는 더 이상 사용되지 않는 잠금 장치 & 래치 플러그인)에서 이것이 가능한지 확실하지 않습니다. 그렇다면 어떻게 될지 알 수 없었습니다. 한 가지 해결책은 Apache Ivy로 빌드 종속성을 지정하고 Ivy Plugin을 사용하는 것입니다. 그러나, 내 작업은 모두 Makefile C/C++/쉘 스크립트 작업이며 가능한지 확인하기 위해 Ivy에 대한 경험이 없습니다.

젠킨스의 병렬 작업과 종속성을 지정하는 가장 좋은 방법은 무엇입니까? 당신을 위해 일 수있는 하나 개의 솔루션은

답변

6

이 매우 필요를 충족하는 Build Flow plugin 있습니다. 병렬 작업을 지정하기위한 DSL을 정의합니다. 난 그냥 그것을 발견

build("job A") 
parallel (
    { 
     build("job B") 
     build("job D") 
    }, 
    { 
     build("job C") 
    } 
) 
build("job E") 

그것은 내가 찾던 정확히 무엇을 : 귀하의 예는 다음과 같이 기록 될 수 있습니다.

2

있습니다. 모든 빌드는 단일 작업으로 시작하여 각 체인의 끝 부분에 명확한 일련의 작업으로 끝나야합니다. 다이어그램에서 "작업 A"는 시작 작업이고 작업 C와 D는 종료 작업입니다.

되세요 작업 A는 지문 파일을 만듭니다. 그런 다음 Job A는이 예제에서 B/D 및 C의 여러 체인을 시작할 수 있습니다. 또한 작업 (A)에, 누구의 기준 연속 작업을 성공적으로 완료되면, Promotions Plugin를 통해 승진을 추가 -이 경우, C 및 D 추진의 일환으로, 귀하의 경우 작업 E에, 최종 작업의 트리거를 포함 이것은 Parameterized Trigger Plugin으로 할 수 있습니다. 그런 다음 승격 기준에 나열한 각 작업도 동일한 파일을 지문 인식하고 동일한 지문을 가져 오는지 확인하십시오. 매번 정확하게 동일한 파일을 얻으려면 Copy Artifact Plugin을 사용합니다.

+0

감사합니다! Promotions Plugin과 Parameterized Trigger의 조합을 시도하지 않았습니다. 나는 그것을 줄 것이다. 지문과 함께 이슈 복제 플러그인을 이미 사용하고 있습니다. –

+0

매력처럼 작동합니다. 지문 채취는 작업 E를 A의 다운 스트림 작업으로 표시하는 데 필요합니다. 지문 인식을 사용할 수 있다는 것을 알지 못했습니다. 고맙게 생각합니다. –