发现Sonarcloud对于github的开源项目是免费使用的,但是配置过程中遇到了很多问题,百度还是Google相关的搜索都不多,特此记录一下整个流程.
0.准备
- 本文基于使用Maven项目的情况下.
- 你需要注册一个Github和Sonarcloud的账号并且相互绑定.
1.生成一个Sonarcloud的访问Token
记住你的Token
2.选择分析的项目
3.选择分析方式
选择为Github工作流
4.设置SONAR_TOKEN
按照提示设置,这里可以设置使用第一步里我们生成的token当然你也可以使用这里的token
5.在你的项目里的引入Sonar的plugin
6. 按照指示创建Github工作流
我这里只是命名不一样
注意:这里Sonarcloud官方提供的脚本中执行工作流的分支是Master
但是git在很早的时候就已经吧默认的分支命名切换成main了,
所以这里如果你想执行分析的分支是main记得要修改一下
注意:Sonar必须在Jdk11的版本下使用
所以步骤里的提升JDK版本到11的操作不能忽略或修改
7.配置Sonar
传统的Sonar配置是在根目录下创建一个sonar的properties作为配置
但使用Sonar for maven的时候配置会使用pom.xml中的配置
这里的参数
organization和url可以在第六步的第一个截图中找到
projectkey可以在第六步第一个截图的yml中最后面找到
login是你的token,第一步中生成的或者 是第四步中自动生成的
注意:这里如果不配置branch.name的话会报一个错误找不到默认的分支
我一开始以为是git默认分支名称从master换到main导致的
切换了几次发现没有效果,一直卡在这里
中间搜了很多
有一个Sonar的master回复说会读取Github默认的主分支
但实际上我发现没有这么做
后来查阅了Sonar的官方文档找到了这个配置就可以了
最后
只需要提交你的代码到工作流指定的分支上就可以触发扫描分析了