在我的Jenkinsfile中,我使用publishHTML发布PIT的报告。我的步骤如下
stage('Results') {
publishHTML([allowMissing: false, alwaysLinkToLastBuild: false,
keepAll: false, reportDir: 'target/pit-reports/*/', reportFiles: 'index.html', reportName: 'PIT Report'])
}
index.html的目录就像这个\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.
通配符*
或**
不起作用。如何在jenkins文件中使用通配符作为目录名,在windows或unix上执行此操作有什么区别吗?
答案 0 :(得分: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'
])
}
对于那些感兴趣的人,我的github repo可以找到我的Jenkins文件的完整版本。