官网
官网:https://www.sonarsource.com/
官方文档:https://docs.sonarsource.com/sonarqube/latest/
安装
下载对应的zip包放到服务器上,安装***对应版本的jdk和sacnner***
调整配置文件,修改数据库配置
启动
sh sonar.sh start
升级
对应的jdk和sacnner也需要升级
在启动后,手动访问ip:port/setup进行数据库更新操作
汉化
- - 在marketplace里面下载安装chinese pack
- - 下载汉化包放到`${sonar的位置}/extensions/plugins`,然后执行`sh sonar.sh restart`
汉化包下载地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh
sonar使用
sonar的地址:http://172.16.1.81:9000 如果没有账号的,请联系金总开通账号
新增sonar项目
1.点击新增项目
2.选择‘手工’
3.输入项目名称,然后点击‘设置’
注意:
- 名称不能重复,sonar会有提示
- 图中①和②尽量保持一致
调用sonar扫描代码
接口调用
接口地址:http://172.16.1.81:8080/sonar/exec GET
参数说明:
- - projectName:项目名称,与步骤2中输入的名称一致
- - devLanguage:开发语言(目前仅支持:Java,Python,JavaScript)
- - svnUrl:项目代码的svn地址,
- - ***注意:如果是java项目,请指定到最子级的目录,因为java需要编译,需要去target中获取编译后的字节码,多级目录会找不到字节码文件***
- - sonarName:金总开通的sonar账号
- - sonarPwd:金总开通的sonar账号对应的密码
- - recivers:扫描结果的企业微信推送,多人推送中间“|”隔开
jenkins集成,推荐使用
如果熟悉jenkins集成部署的话,可以通过脚本触发远程构建或者在构建中调用扫描服务,我这里使用的是后面这种,参考如下:
命令参考:
其中的参数含义参考接口调用
wget "http://172.16.1.81:8080/sonar/exec?projectName=ASN-python&devLanguage=Python&svnUrl=https://lx_yanfa.bdo.com.cn:5155/svn/splider/trunk/AccountStatementNew&sonarName=sz-sonar&sonarPwd=*****&recivers=jin.ye|gaoyaopeng|hehua"
也可以配置jenkins定时构建,我设定的是每周一上午9点定时扫描,这样就省去了自己每次都需要手动去触发,参考如下:
服务器手动扫描
服务器上手动执行runsonar.sh脚本,参数同接口调用,除去了recivers,没有进行扫描推送,熟悉服务器操作的小伙伴可以考虑
***注意***:如果访问服务器手动扫描的话,切记不要使用root账户,这样会影响别人进行使用的