2017-01-11 9 views
0

내 Jenkinsfile에서 나는 PIT에 대한 보고서를 게시하기 위해 publishHTML을 사용합니다. 내 단계는 다음과 같습니다.Jenkinsfile의 디렉토리 이름에 대한 와일드 카드가 publishHTML을 사용하여 인식되지 않습니다.

stage('Results') { 
    publishHTML([allowMissing: false, alwaysLinkToLastBuild: false, 
    keepAll: false, reportDir: 'target/pit-reports/*/', reportFiles: 'index.html', reportName: 'PIT Report']) 
} 

\target\pit-reports\201612081633 디렉토리는 다음과 같습니다. 그 마지막 부분 201612081633은 물론 때마다 다릅니다. Windows 컴퓨터에서 target/pit-reports/*/을 사용하면 다음 오류가 발생합니다.

ERROR: Specified HTML directory 'D:\David\Tools\Jenkins\workspace\jenkinsSandbox\target\pit-reports\*' does not exist. 

* 또는 **이 작동하지 않는 와일드 카드. jenkinsfile에서 디렉토리 이름에 와일드 카드를 사용하려면 어떻게해야합니까? Windows 또는 유닉스에서이 작업을 수행 할 때 어떤 차이가 있습니까?

답변

0

publishHTML 플러그인이 * 또는 **을 처리 할 수 ​​없기 때문에 해결 방법을 사용하여이 문제를 해결했습니다. 이제 -DtimestampedReports=false org.pitest:pitest-maven:mutationCoverage으로 pitest를 실행하면 타임 스탬프가 적용되지 않은 폴더가 비활성화됩니다. 결과 단계는 다음과 같습니다. 관심이있는 사람들을 위해

stage('Results') { 
publishHTML([allowMissing: false, 
      alwaysLinkToLastBuild: true, 
      keepAll: true, 
      reportDir: 'target/pit-reports', 
      reportFiles: 'index.html', 
      reportName: 'PIT Report' 
      ]) 

} 

, 내 Jenkinsfile의 전체 버전은 내 github repo에서 찾을 수 있습니다.