赞
踩
最近工作中有这样的需求,需要针对MSBuild的项目,在pipeline中使用SonarQube进行静态代码分析。这就需要用到 SonarScanner For MSBuild 这个版本的扫描工具。如果直接在Jenkins的虚拟机节点上运行Build和Sonar Scan,没有问题。不过我们的Build是在Docker container中运行的,pipeline会启动一个windows container,其中包含了MSBuild和msbuld-sonarscanner等工具。在Sonar阶段就会遇到以下问题:
从Log中的possible causes
可以看出,原因可能有四种。这里要补充一下MSBuild SonarScanner的一些背景,这个工具分三步执行:Begin -> Build -> End
。首先运行sonar scanner的begin
阶段,做一些预处理的工作,生成必要的临时目录,读取配置文件。然后进入项目的Build阶段,此时会调用MSBuild工具去Build某个solution或者project。最后是Sonar Scanner的End
阶段,这里会真正扫描并分析代码。
MSBuild项目特殊的地方就在于扫描分析依赖于Build过程
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。