2012-03-21 4 views
0

통합 테스트 Maven주기의 일부로 많은 시간이 걸리는 테스트를 수행하는 Maven 프로젝트가 있습니다. Jenkins를 CI 서버로 사용하고 있습니다.테스트가 실패한 경우 젠킨스에서 테스트 아티팩트에 액세스하는 방법

통합 테스트 중에 여러 파일이 대상 폴더에서 생성됩니다. 예를 들어 "실제"BMP 파일이 생성되어 "예상 된"BMP 파일과 비교됩니다. 테스트가 실패하면 대상 폴더의 파일을보고 오류를 처리하는 방법을 결정해야합니다. 어쩌면 실제 BMP는 괜찮아 보이므로 새로운 BMP로 승격되어야합니다. 반면에 코드 수정이 필요한 문제가 발생할 수 있습니다.

문제는 CI 서버로 ssh를 보내고 검사를 위해 직접 파일을 내 컴퓨터로 scp하는 것 외에는이 파일에 액세스 할 수있는 방법이 없다는 것입니다. Jenkins 웹 인터페이스에서이 파일에 액세스 할 수 있다면 매우 유용 할 것입니다.

관련 파일을 Maven 아티팩트로 첨부하려고 시도했지만 테스트가 실패 할 경우 통합 테스트 후에 실행되는 Maven에 적합한 단계가 없다는 것이 문제입니다.

어떻게해야합니까? 이것을 위해 "Artifact 복사"플러그인을 사용할 수 있습니까?

+1

Jenkins UI를 통해 작업 영역에 액세스하려 했습니까? – khmarbaise

+0

@khmarbaise는 빌드 작업이 끝날 때 작업 공간을 삭제하지 않는 한 http : // /job//ws/ –

+0

예를 통해 파일에 접근 할 수 있어야합니다. 정확하게. 그러나 문제는 : 통제 목적으로 만 이러한 인공물이 필요하거나 다른 것들을 위해 사용하고 싶습니까? – khmarbaise

답변

1

1) 대상 폴더에 파일이 이러한/WS/프로젝트 이름/타겟/파일명 ...

2) 대신 URL마다 입력과 같은 링크를 사용하여 액세스 할 수에게 사이드 바 플러그인 될 수 Jenkins의 왼쪽 메뉴에 파일에 대한 링크를 추가하여 쉽게 액세스 할 수있게 해줍니다.

0

파일을 빌드 단계에서 작업 영역으로 복사하고 거기에서 아카이브해야합니다. Jenkins에서는 작업 영역과 관련된 아티팩트 만 지정할 수 있습니다.

일반적으로 작업 공간에서 BUILD_ID로 키가 설정된 디렉토리를 작성하므로 작업 공간을 정리하지 않고 (아카이브 단계에서 ${BUILD_ID}/**/* 지정) 작업을 수행하지 않아도 다른 빌드의 아티팩트가 혼합되지 않습니다.

복사 단계를 수행하기 전에 빌드가 실패하고 복사가 수행되지 않기 때문에 this question을 살펴보십시오.

관련 문제