首先,请看[外部分析报告]各种语言的报告生成
go vet 2> govet-report.out
#没有golangci-lint,我从网上找到了
golangci-lint run --out-format checkstyle ./... > golangci-lint-report.xml
值得注意的是,貌似不支持目录,仅支持文件名(我尝试目录,发现无效)
可以:/dir/dir/file
不可以:/dir/dir/dir
虽然只有一个文件,但是如果某个bug被扫描到,修复之后,bug会有记录,但是状态为已修复(这是我比较喜欢的部分)
然后在全局或者项目的配置中,填写文件路径
值得注意的是,无论是全局配置,还是项目配置,目录都是以项目为根的。
准确的说是以扫描器sonar-scanner执行的目录为根
比如:
sonar-scanner \
18 -Dsonar.projectKey=AAA \
19 -Dsonar.sources=. \
20 -Dsonar.host.url=http://127.0.0.1:9000 \
21 -Dsonar.login=AAAA
-Dsonar.sources=. \就是根
这样有一个好处,即使你的sonarqube服务运行在docker中,并且文件不与外界互通,也不影响扫描(基于网络传输)
配置好之后,下次执行sonar-scanner扫描之后,就会有结果了。(前提是先执行了外部扫描器)