2012-02-13 2 views
1

Jenkins에서 Maven 빌드를 실행 중입니다. Jenkins가 빌드 완료 후 정리 작업을 수행 할 수있을 정도로 똑똑하지 않기 때문에 빌드가 실패합니다. 전체 작업 영역을 삭제하려고 시도하고 빌드가 즉시 실패합니다. 이 때문에 젠킨스를 사용하지 못하게 할 수있는 방법이 있습니까? (또는 심지어 시도해도됩니다.) 대신 "mvn clean"스크립트를 먼저 실행 시키십시오. 이 작업을 수행 할 수 있다면 필요한 특수 정리를 수행 할 수 있습니다.젠킨스가 어떻게 내 메이븐 스크립트를 사용하여 정리할 수 있습니까?

답변

1

나는 Workspace Cleanup Plugin을 사용하고있는 것으로 의심됩니다. 가장 먼저 할 일은 사후 빌드가 아닌 사전 빌드 단계로 수행 할 경우 어떤 일이 발생하는지 확인하는 것입니다.

또는 작업 영역을 지우려고하는 사용자 지정 단계가 빌드에 있습니다. 마지막 빌드 단계가 아닌 첫 번째 빌드 단계로 호출하면 어떻게되는지보십시오. 또는 앞서 언급 한 플러그인을 사용해보십시오. 도움이되지 않는 경우

, 여기 당신이 사용할 수있다 다른 일반 clenup 전략은 다음과 같습니다

    는 빌드 후 단계로 다른 작업을 시작
  • 이 그 것이다 업스트림 작업에 대한 정리.
  • 정리 작업을 정기적으로 수행합니다 (예 : 야간). 이 경우 빌드별로 작업 영역을 '분할'해야합니다. 즉, 모든 빌드 인스턴스 (작업 키 : BUILD_ID)에 대해 별도의 하위 디렉토리를 만들어서 빌드가 실수로 이전 빌드의 남은 파일을 사용하지 않도록합니다.
  • 작업에 클린업 빌드 단계가 있습니다. 이 경우 추가 작업을 작성할 필요가 없습니다. 그러나 빌드가 끝나기 전에 실행되므로 완전히 정리할 수 없을 수도 있습니다 (예 : 빌드 후 단계에서 보관해야하는 아티팩트를 삭제할 수 없음).

요약 : 예, 먼저 스크립트를 실행할 수 있습니다. 일찍 삭제하지 않도록하십시오. 또한 자신의 정리가 호출 된 곳의 작업 구성을 검사하여 빌드 전 단계로 설정하거나 제거하십시오.

+0

실제로 "mvn pre-clean"을 실행하여 대상 디렉토리를 삭제하는 시스템을 준비하는 특수한 단계를 수행하기위한 게시 빌드 단계를 설정했습니다 (실제로 필요한 결과가 없으므로 실제로 삭제하지는 않습니다). – Jared

관련 문제