使用findbugs插件的jenkins管道脚本的意外行为

时间:2017-10-08 05:04:23

标签: maven jenkins groovy jenkins-pipeline findbugs

首次配置:

stage('bug') 
     { bat 'mvn findbugs:findbugs'
       bat'mvn test'
       findbugs canComputeNew: false, defaultEncoding: '', excludePattern: 
       '', healthy: '', includePattern: '', pattern: 
       '**/target/findbugsXml.xml', unHealthy: ''
     }

它在本地环境中正常工作。本地是Windows! 但是没有在生产中工作(RedHat)

第二种配置:

step([$class: 'FindBugsPublisher', 
pattern:'C:\\Users\\ADMIN\\.jenkins\\workspace\\pipeline\\target\\findbugsXml.xml', unstableTotalAll:'0'])

一旦我关注' \\'这适用于本地(Windows)和制作。

Pipeline也与我使用的插件兼容 我想知道为什么第一个配置在生产中不起作用,当第二个配置在两个环境中都有效时。

首次配置会导致构建失败并显示错误:

No Such DSL method findbugs found.

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

Pipeline: Nodes and Processes中,bat步骤执行执行 Windows 批处理脚本,而不执行Linux(RedHat或其他)

对于ReadHat,请替换bat with sh

这与Pipeline Maven Integration Plugin不同,后者会将maven调用转换为bat或shell进程,具体取决于执行操作系统。