2017-01-13 34 views
1

我正在嘗試使用多分支作業。構建解決方案可行,但解析生成的警告失敗。WarningsPlugin not Collecting warnings from MSBuild

這是我Jenkinsfile:

node { 
    stage ('Checkout') 
    { 
     checkout scm 
    } 

    stage ('Build') 
    { 
     bat "\"${tool 'MSBuild VS2013'}\" Solution.sln /p:Configuration=Release /p:Platform=\"Any CPU\" /p:ProductVersion=1.0.0.${env.BUILD_NUMBER}" 
    } 

    stage ('Warnings') 
    { 
     step([$class: 'WarningsPublisher', canComputeNew: false, canResolveRelativePaths: false, defaultEncoding: '', excludePattern: '', healthy: '', includePattern: '', messagesPattern: '', parserConfigurations: [[parserName: 'MSBuild']], unHealthy: '']) 
    } 
} 

我從警告插件此異常:

Projekt : Das Einlesen der Datei d:\jenkins20\configs\workspace\JenkinsFile_master-CQILFOMT634B5TYN4BWJKVHYYWABZMZHXNE4WK5BQE2E2MJN4MDQ ist wegen folgender Exception fehgeschlagen: java.io.FileNotFoundException: d:\jenkins20\configs\workspace\JenkinsFile_master-CQILFOMT634B5TYN4BWJKVHYYWABZMZHXNE4WK5BQE2E2MJN4MDQ (Zugriff verweigert) 
at java.io.FileInputStream.open0(Native Method) 
at java.io.FileInputStream.open(Unknown Source) 
at java.io.FileInputStream.<init>(Unknown Source) 
at hudson.plugins.warnings.parser.ParserRegistry.createReader(ParserRegistry.java:325) 
at hudson.plugins.warnings.parser.ParserRegistry.parse(ParserRegistry.java:281) 
at hudson.plugins.warnings.parser.ParserRegistry.parse(ParserRegistry.java:261) 
at hudson.plugins.warnings.parser.FileWarningsParser.parse(FileWarningsParser.java:44) 
at hudson.plugins.analysis.core.FilesParser.parseFile(FilesParser.java:325) 
at hudson.plugins.analysis.core.FilesParser.parseFiles(FilesParser.java:283) 
at hudson.plugins.analysis.core.FilesParser.parseSingleFile(FilesParser.java:241) 
at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:200) 
at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:31) 
at hudson.FilePath.act(FilePath.java:996) 
at hudson.FilePath.act(FilePath.java:974) 
at hudson.plugins.warnings.WarningsPublisher.parseFiles(WarningsPublisher.java:392) 
at hudson.plugins.warnings.WarningsPublisher.perform(WarningsPublisher.java:290) 
at hudson.plugins.analysis.core.HealthAwarePublisher.perform(HealthAwarePublisher.java:68) 
at hudson.plugins.analysis.core.HealthAwareRecorder.perform(HealthAwareRecorder.java:295) 
at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:69) 
at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:59) 
at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:47) 
at hudson.security.ACL.impersonate(ACL.java:221) 
at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:44) 
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) 
at java.util.concurrent.FutureTask.run(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 

回答

2

解決了MSBuild中的輸出寫入到一個文本文件,然後使用此文件作爲問題輸入警告插件

stage ('Checkout') 
{ 
    checkout scm 
} 

stage ('Build') 
{ 
    bat "\"${tool 'MSBuild VS2013'}\" Solution.sln /p:Configuration=Release /p:Platform=\"Any CPU\" /p:ProductVersion=1.0.0.${env.BUILD_NUMBER} > msbuild.log 2>&1" 
    bat " type msbuild.log" 
} 

stage ('Warnings') 
{ 
    step([$class: 'WarningsPublisher', canComputeNew: false, canResolveRelativePaths: false, defaultEncoding: '', excludePattern: '', healthy: '', includePattern: '', messagesPattern: '', parserConfigurations: [[parserName: 'MSBuild', pattern: 'msbuild.log']], unHealthy: '']) 
} 
+0

謝謝,任何想法如何讓警告數據出現在新的管道視圖? – Rocklan

+0

@LachlanBarclay對不起,我們仍然使用舊視圖 – Thomas

0

有一種新的方法可以做到這一點。首先,您可以使用代碼片段生成器,它非常簡單,快速並且可以完成任務。它看起來有點像這樣:

stage('Warning') { 
     steps { 
      warnings canComputeNew: false, canResolveRelativePaths: false, categoriesPattern: '', consoleParsers: [[parserName: 'MSBuild']], defaultEncoding: '', excludePattern: '', healthy: '', includePattern: '', messagesPattern: '', unHealthy: '' 
     } 
} 
相關問題