2011-10-31 5 views
3

저는 젠킨스를 처음 사용하고 있으며 막 구성하기 시작했습니다. 이것은 지금까지 내가 한 것입니다 :허드슨/젠킨스 PMD 구성

  1. 홈 페이지를 표시하도록 젠킨스를 설치 및 구성했습니다. PMD 플러그인 추가.
  2. 세트 특정 디렉토리에 HUDSON_HOME> C : \ 일 \ 젠킨스
  3. 간단한 아무것도 실시하지 않는 개미 스크립트를 실행하는 테스트 빌드를 구성. 성공적으로 실행됩니다.

  4. 독립 실행 형 pmdbuild.xml을 작성하여 C : \ myview (Clearcase를 사용하고 있습니다)의 파일 집합을 검사합니다. 이 xml은 출력 pmd_results.xml을 작업 영역 디렉토리에 복사합니다. $HUDSON_HOME/[job-name]/workspace

  5. 이제 기본 빌드에서 단계 1로 pmdbuild.xml을 추가했습니다. 따라서 빌드에는 2 단계가 있습니다. a. 아무것도하지 않고 간단한 스크립트를 실행하십시오. b.

  6. 은 젠킨스가 플러그인을 자동으로 pmd_results.xml을 집어 경고와 모든 것을 표시 pmd_results.xml를 생성하고 $HUDSON_HOME/[job-name]/workspace에 배치 실행 P mdbuild.xml은 (젠킨스 PMD 플러그인이 파일을 기대로 하드 코딩).

이제 문제 : 나는 PMD 결과에서 파일 이름을 클릭하면이 $HUDSON_HOME/[job-name]/workspace에서 소스 파일을 찾고 있습니다로

  • 는, 그것이 filenotfound 예외를 제공합니다.

  • 내 자바 코드 파일

    은 C에 배치됩니다 : \ MYVIEW (A의 ClearCase 스냅 샷보기)

내 질문에, 내가 $HUDSON_HOME/[job-name]/workspace 내부에 존재하는 모든 내 코드 파일을 필요로 할 수있다? C : \ myview 또는 $HUDSON_HOME/[job-name]/workspace 대신 다른 디렉토리에서 PMD 입력 파일을 찾도록 Jenkins에 지시 할 수 있습니까?

매우 긴 설명을 드려 죄송합니다.

답변

3

젠킨스는 모든 코드가 작업 영역에 있다고 예상합니다. 일반적으로 Jenkins는 코드 복사본을 작업 영역으로 체크 아웃 한 다음 작업 영역의 소스에서 모든 빌드 단계를 실행합니다.

젠킨스를 다른 서버로 옮기거나 슬레이브 인스턴스를 만들어야 할 때 많은 어려움을 줄 수 있습니다.

그래서 Jenkins가 작업 공간에 코드 (클리어 케이스 플러그인이 있어야 함)를 체크 아웃하고 체크 아웃 된 코드에 대한 분석을 실행하도록 제안합니다.

코드가있는 곳 (프로젝트의 경우 C : \ myview)에 있어야하는 강력한 이유가 있다면 여전히 빌드의 작업 영역을 해당 디렉토리로 설정할 수 있습니다 (작업 구성 페이지에서이 코드를 찾으십시오. 옵션을 보려면 '확장'버튼을 클릭하십시오).

+0

고마워 .. 나는 젠킨스 (Jenkins) 마스터 설정에서 옵션을 발견하고 문제를 해결했다. Jenkins가 내 코드를 완전히 체크 아웃하는 것에 동의하지 마십시오. 그것은 어떤 경우보다도 근거로 삼아야하며 강박하지 말아야합니다. –

+1

물론 모든 직업이 출처를 조사해야하는 것은 아닙니다. 소스를 체크 아웃하고 빌드하고 빌드 소스에서 테스트를 수행하는 또 다른 작업, 코드 분석을 수행하는 작업을하는 것이 합리적입니다. 그러나 젠킨스 (Jenkins)가 소스를 확인하고 젠킨스 (Jenkins) 외부에서는 사용하지 않는 것이 좋습니다. Jenkins와 함께 소스를 체크 아웃하면 많은 장점 (예 : 소스 변경 사항이 빌드 등에서 사용 된 기록 유지)을 얻을 수 있습니다. – pushy

+0

나는 체크 아웃하지 내 소스 코드가 40K + 파일을 포함하고 ClearCase를 힘내되지 않는 이유가했다 :) –

관련 문제