2013-10-08 2 views
0

Maven (2.2.1) 어셈블리를 호출하여 타사 취약성 평가 도구에 업로드 할 사용자 지정 아티팩트를 생성하는 pom.xml 프로필을 설정했습니다. 그것이Maven 어셈블리 : Jenkins에서 단일 구조 손실

<dependencySet> 
    <includes> 
     <include>${project.groupId}:*:jar</include> 
    </include> 
    <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping> 
</dependencySet> 

<dependencySet> 
    <outputDirectory>lib</outputDirectory> 
    <includes/> 
    <excludes> 
     <exclude>${project.groupId}:*</exclude> 
    </excludes> 
</dependencySet> 

의 그 본질에 제거 - - 구성은 매우 간단 최상위 디렉토리는 버전 정보 박탈 우리의 항아리를 가지고, 그리고 모든 의존성은/lib 디렉토리에있는 버전 정보를 포함한다.

이것은 매우 간단하며 내 데스크톱에서 작동합니다.

Jenkins 서버에서 모든 항목이 최상위 디렉터리에 들어가고 버전 정보가 제거됩니다.

내 첫 번째 생각은 서버에 $ {project.groupId}에 문제가있을 수 있다는 것입니다. 그럴 것 같지 않지만 확인하는 것이 뻔한 일입니다. 불행히도 문제는 여전히 남아 있습니다.

tar.gz이기도하지 않습니다. - .zip과 동일한 동작을 보입니까?

아이디어가 있으십니까?

+0

은 로컬 및 젠킨스에서 사용되는 어셈블리 플러그인의 버전을 비교합니다 (디버그 출력을 보려면 -X 매개 변수 사용). 대부분 다른 버전의 플러그인을 사용합니다. 그들 모두가 동일한 플러그인 버전을 사용하고 당신이 잘 가게되었는지 확인하십시오. –

+0

peter의 의견을 확장하려면 모든 환경 변수를 인쇄하기위한 사전 빌드 단계를 추가하십시오. 당신은 모든 환경 변수 젠킨스 세트에 의해 놀라게 될지도 모릅니다. – Electrawn

+0

감사합니다. 우리는 오늘 아침에 이것을 독립적으로 발견했습니다. (참고 사항 : 의견을 메일로 보내지 않으므로 답변 만! 사이트를 확인하십시오!) – bgiles

답변

0

마침내 문제를 추적했습니다. pom.xml 파일에는 maven-assembly-plugin에 대한 명시적인 버전이 없으므로 모든 것이 작동 했으므로주의하지 않았습니다.

나중에 빌드 서버로 푸시 한 후 실패했습니다. Maven 버전은 일치하지만 다른 모든 종속성에는 명시적인 버전 값이 필요하기 때문에 플러그인 버전을 확인하지는 않을 것이라고 확인했습니다. 일단 우리가 버전 (2.2-beta-4, 시작)을 추가한다고 생각하면 효과가있었습니다.