2014-02-27 2 views
3

젠킨스 상자에 팀 빌드를 설정하려고합니다. 그들은 $ JAVA_HOME/jre/lib/ext 디렉토리에 2 개의 jar 파일과 .properties 파일을 삭제하라는 문서가있는 제품을 사용하고 있습니다.Jenkins/Maven 빌드에서 jre/lib/ext jar를 어떻게 관리합니까?

이 젠킨스 빌드 박스는 다른 팀에서 관리하고 많은 빌드를 저장하므로이 프로젝트를 빌드 할 수있는 모든 슬레이브에 이러한 파일을 설치하도록 알려주는 것이 바람직하지 않다고 생각합니다. (특히 설정/업그레이드/변경이 필요할 경우)

이런 종류의 작업을 관리하는 가장 좋은 방법이 있습니까?

것들 지금까지 시도했다 :

  • $ JAVA_HOME에 설치/JRE/lib 디렉토리/내선 == 작품.
  • 작동하지 않습니다 == 받는다는의 REPO에있는 jar 파일을 설치 및 속성 SRC/메인/자원 파일을 삭제 (이 $ M2_REPO에서 찾습니다/PATH/TO/JAR/jarname.properties)

답변

3

lib/ext보다 실제로 배포해야하는 경우 가장 쉬운 방법은 빌드에 사용자 정의 jdk (Java6_With_MyProduct라고 부름)를 제공하는 것입니다. 여기서 사용자는 압축/tar'gz'ed) jdk를 제공합니다.

관리자에게 Jenkins 구성에 포함 시키도록 요청하십시오.

그런 식으로 YOUR (및 빌드 만)는 확장 된 JDK를 얻을 수 있습니다.

또는 -Djava.ext.dirs 시스템 등록 정보를 사용하여 확장 디렉토리를 대체 할 수 있습니다. 그런 식으로, 당신은

  • 는 같은 디렉토리
  • 세트 -Djava.ext에 $ JAVA_HOME/JRE/lib 디렉토리/내선에서 원래 확장을 복사합니다 사전 빌드 단계
  • 로 작업 공간으로 확장을 복사합니다. DIRS = $ 공간/MAVEN_OPTS (확장자가 실제로 프로젝트를 빌드하는 데 필요한 경우에만) 등 myextensions
  • 추가 -Djava.ext.dirs = $ WORKSPACE/확실한 및 페일 패스트 플러그인

에 대한 argLine에 myextensions 열린 질문 : 귀하의 프로젝트를 구축하기위한 확장이 정말로 필요합니까?

+0

아니요, 일단 빌드가 완료되면 Jenkins를 통해 빌드를 실행하지 않는 한 내 통합 테스트에 대한 예쁜 그래프를 얻으려면 어떻게해야합니까? –

+0

@JBristow 그런 경우 솔루션 2)의 경우 Surefire/Failfast 플러그인의 argsLine에도 시스템 속성을 포함시켜야합니다. 나는 대답을 업데이트 할 것이다. – blackbuild

관련 문제