2012-05-10 2 views
9

Jenkins 매개 변수화 된 트리거 플러그인을 사용하여 테스트 이름을 매개 변수로 사용하여 여러 테스트 작업을 트리거하는 Jenkins Build 작업이 있습니다. 이것은 정확하게 실행되는 여러 실행자에 대한 여러 테스트 빌드를 시작합니다.Jenkins에서 다운 스트림 매개 변수화 된 작업의 결과 집계

이제는 '다운 스트림 테스트 결과 집계 -> 모든 다운 스트림 테스트를 자동으로 집계'를 사용하여 결과를 집계하려고합니다. 빌드 작업에서이 작업을 활성화했으며 지문을 설정하여 다운 스트림 작업으로 인식되도록했습니다.

테스트 # 1 ~ #

나는 "집계 된 테스트 결과"를 클릭 3

는 다운 스트림 구축 : 다운 스트림 빌드로 빌드 작업 lastBuild 페이지에서 나는 그들이 인식하는 것을 볼 수있다 그러나 그것은 단지 이것들의 최신 정보를 보여줍니다 (테스트 # 3). 작업이 항상 동일한 테스트를 실행하지만 모두 내 테스트 제품군의 다른 부분을 실행하는 경우 이는 좋은 동작 일 수 있습니다.

관련 다운 스트림 테스트 빌드를 모두 집계 할 수있는 방법이 있습니까?

추가 : 테스트 작업을 복제하는 경우 집계 된 테스트 결과가 작동합니다. 필자는 많은 수의 테스트 스위트를 보유하고 있으므로 이상적인 것은 아닙니다.

+1

다운 스트림 테스트 결과를 수집하는 데 많은 어려움을 겪었습니다. 다운 스트림 테스트 결과를 수집하는 데 많은 어려움을 겪었습니다. 다운 스트림 작업이 끝날 때까지 기다렸다가 부모에게 테스트 보고서를 복사 할 때까지 기다렸습니다. –

+0

작업을 복제하여 자동 집계 작업을 수행하면 테스트 계층을 병합하지 않거나 그래프를 집계하지 않는다는 사실을 알 수 있습니다. 매개 변수화 된 작업을 위해 수동으로 수행 한 솔루션을 수락합니다. –

답변

3

나는 (코멘트에서 언급 한 바와 같이) 수동 솔루션을 간략하게 설명하고 나중에 필요하면 더 자세한 정보를 제공합니다 :

P는 다운 스트림 작업을 할 수 상위 작업 및 D하자 (여러 다운 스트림 작업에 대한 접근을 쉽게 확장 할 수 있습니다. P

  1. 인스턴스 (구성) D의 완료하기위한 제작 공정 (빌드 후 단계로서 하지) 대기 통해 Parameterized Trigger Plugin 통해 D를 호출한다. 다른 매개 변수와 함께, PD 매개 변수에 전달 - 현실을 부르 자 PARENT_ID-P의 빌드의 BUILD_ID에 따라.
  2. D은 테스트를 실행하고 해당 파일을 jUnit 보고서와 함께 보관합니다 (해당되는 경우 jUnit 보고서와 함께).
  3. P 다음 PARENT_ID를 통해 D의 적절한 빌드를 발견 외부 파이썬 (또는 내부 멋져요) 스크립트를 실행 (당신은 D 빌드를 반복하고 PARENT_ID 매개 변수의 값을 검사). 그런 다음 스크립트는 D에서 PP의 아티팩트를 게시합니다.

파이썬을 사용하는 경우 (내가하는 일) - Python JenkinsAPI wrapper을 사용하십시오.Groovy를 사용하는 경우 - Groovy Plugin을 사용하고 스크립트를 시스템 스크립트로 실행하십시오. 그런 다음 Java API을 통해 젠킨스에 액세스 할 수 있습니다.

+0

그 흐름의 문제는 P가 아직 아티팩트를 보관하지 않는다는 것입니다. 일반적으로 이슈를 테스트 할 것이므로 더 멀리 나눠야합니다. – Wernight

+0

@malenkiy_scot 당신은 "PARENT_ID를 통해 D의 적절한 빌드를 찾습니다"라고 말했습니다. 나는 이것이 정확히 무엇을 의미하는지 모른다. D는 이제 Parent_Id를 통해 콘텐츠를 검색 할 수있게 되었습니까? 테스트 결과를 ZIP 파일로 저장했는지, zip 파일 이름이 parent_id인지 확인하십시오. –

관련 문제