gitlab-ci实践3-sonarqube代码质量扫描

524 阅读1分钟

一、准备工作

  1. sonar-scanner 我用的是sonar-scanner ,需要配置环境变量;
  2. sonarqube 我用的sonarqube-8.0 ;

二、sonarqube介绍常用

下载 选择develop试用版本,免费14天,可以支持c/c++和objc语言扫描;

注意:如果你下载非debug版本是不支持objc和c以及c++的;需要下载插件放在xxx/sonarqube-8.0/extensions/plugins目录下

第一步:

进入xxx/sonarqube-8.0/bin/macosx-universal-64/sonar.sh start 如果失败可以看xxx/sonarqube-8.0/logs sonar.log和es.log 常见错误后面有说明

其他常见指令:

./sonar.sh console #Debug信息  #启动服务 

./sonar.sh status #状态

./sonar.sh start #停止服务 

./sonar.sh stop #停止服务 

./sonar.sh restart #重启服务

第二步:

进入127.0.0.1:9000 (9000可以xxx/sonarqube-8.0/conf/sonar.properties配置)

用户名、密码 都默认是admin admin

第三步:

创建项目,可以参考如下

docs.sonarqube.org/latest/setu…

会生成token,用于配置sonar.login的值

第四步:

配置sonar-project.properties文件,示例如下:

sonar.scm.exclusions.disabled=true #很关键
sonar.projectKey=xxx
sonar.projectName=xxx
sonar.projectVersion=1.0.0
sonar.projectBaseDir=.
sonar.sources=xxx1,xxx2
sonar.exclusions=xxx1,xxx2
sonar.sourceEncoding=UTF-8
sonar.language=objc
sonar.host.url=http://localhost:9000 #默认sonarqube服务地址
sonar.login=token #创建后根据项目名字生成的key

第五步:

执行如下指令完成上传代码到sonarqube执行代码扫描

sonar-scanner -X

第三步:去127.0.0.1:9000的项目验证是否正常

三、常见问题

  1. 启动sonarqube因es是root用户启动报错?

将sonarqube文件夹设置为新建用户,然后在启动

  1. sonarqube端口9001被占用,导致无法访问127.0.0.1:9000?

可以sonarqube/config/sonar.properties 修改其他端口或者终止9000进程?