2013-05-28 3 views
7

여러 업스트림 작업의 Join 플러그인 복사 아티팩트에 의해 Jenkins 작업이 트리거 될 수 있습니까?Jenkins의 결합시 여러 업스트림 작업의 이슈 복사

"다이아몬드"작업을 사용하여 Jenkins 구성을 설정하려고합니다. my-trigger가 실행되어 my-fork1 및 my-fork2라는 두 개의 작업이 동시에 실행될 수 있고 다양한 시간이 소요될 수 있습니다 , Join 플러그인은 두 포크가 완료되면 작업 my-join을 설정합니다.

각각 my-trigger, my-fork1 및 my-fork2는 아티팩트 (예 : 텍스트 파일)를 생성하고 지문을 생성합니다.

"어떤 빌드"매개 변수가 "이 작업을 트리거 한 업스트림 빌드"로 설정된 "다른 프로젝트의 이슈 복사"도구를 사용하여 my-join의 각 업스트림 작업에서 이슈를 복사하려고합니다. 그러나, 나는의 콘솔에서이 같은 결과를 볼 수 내 조인 :

건물 원격으로 작업 공간/경로에 빌드 시스템에서 /에/작업 영역/내 - "에서

복사 한 유물을 내 조인 내-은 fork1 "빌드 번호 63에서 유물 사본을 빌드를 찾을 수 없습니다

트리거"에서 만들 수 63

복사 한 유물 "내-fork2

작업이 실패합니다. 이 경우 my-fork2가 먼저 완료되었으므로 my-fork1이 조인 단계를 트리거했습니다. 나는 이것이 내 조인이 나의 포크 1과 나의 방아쇠에 대한 기록만을 가지고 있다는 것을 믿는다. my-fork1이 먼저 완료되면 my-fork2가 결합을 시작하고 my-fork1에서 복사를 시도 할 때 작업이 실패합니다.

"Latest successful build"빌드에서 이슈를 복사하도록 구성을 변경하면 빌드가 성공하지만 my-trigger가 여러 번 연속적으로 실행되어 my-join이 관련 아티팩트에 합류하지 않을 수 있습니다 .

여러 포크의 이슈를 업스트림으로 복사하려면 어떻게해야합니까?

참고 : this question의 두 번째 부분은 똑같은 질문을하고있는 것 같지만 거기있는 유일한 대답은 문제를 해결하지 않고 받아들입니다.

감사

답변

9

당신이 쌓이면 tensorproduct 조인 다이아몬드의 각 실행에 대한 고유 매개 변수 매개 변수, 당신은 복사하기 위해 구축을 결정하기 위해 CopyArtifact 플러그인에서이 매개 변수를 사용할 수 있습니다. "Latest successful build"를 지정하고 매개 변수 및 값으로 한정 할 수 있습니다.

우리는 비슷한 상황에 있습니다. 조인 - 다이아몬드의 다중 동시 실행. 빌드의 매개 변수를 사용하면 다운 스트림 작업이 업스트림 작업에서 올바른 아티팩트를 얻을 수 있습니다.

프로젝트 종속성 : 제이슨 연결구 장착기에서 제공되는 솔루션의 단계 설정에 따라

+0

그래, 즉 감사 프로젝트가 구축 다른 프로젝트에 트리거 매개 변수 빌드 : 작업을 포스트 - 가입. 결국, 트리거링 빌드의 BUILD_TAG를 사용하여 모든 다운 스트림 빌드의 UNIQUE_ID 매개 변수를 설정하고이를 조인 단계의 식별 표식으로 사용했습니다. – laffoyb

+0

이를 달성하기 위해 사용할 정확한 문자열을 제공 할 수 있습니까? 문제가 생깁니다 ... – dstj

+0

이 수정 프로그램을 더 이상 설치하지 않은 곳에서 작동하지 않으므로 정확한 문자열을 사용할 수 없습니다. 가장 기억하기 위해 매개 변수화 된 트리거 플러그인을 사용하여 다운 스트림 빌드를 시작했습니다. 나는 UNIQUE_ID = $ {BUILD_TAG}로 수동으로 매개 변수를 설정했습니다. – laffoyb

0

단계 마름> fork-> diamond_ready

프로젝트 "포크" String 매개 변수 "UNIQUE_ID"(뿐만 아니라 더미 은 (AN artifcat 및 아카이브 아티팩트를) 작성) 내부에 사용

프로젝트 "diamond_ready" String 매개 변수 : 다른 프로젝트에서 UNIQUE_ID 복사 유물3210 프로젝트 명 : 포크 매개 변수 필터 : UNIQUE_ID = $ {UNIQUE_ID}

프로젝트 "다이아몬드": 프로젝트 빌드 다른 프로젝트 에 트리거 파라미터 빌드 : 포크 Predefinded 매개 변수 : UNIQUE_ID = $ {BUILD_TAG가} 가입 트리거 : diamond_ready 미리 정의 된 발전기 매개 변수 : UNIQUE_ID = $ {BUILD_TAG}

관련 문제