一、Windows系统扫描
下载SonarScanner
去SonarQube官网下载相应系统的SonarScanner 点这里跳转
设置环境变量
下载好试个压缩文件,解压到你想存放的位置,设置环境变量
新增变量名:SONAR_SCANNER_HOME,值:你解压SonarScanner的位置
接着编辑path的变量,新增一条值,%SONAR_SCANNER_HOME%\bin,指定到你的SonarScanner bin目录。
验证,命令行输入sonar-scanner -h,输出以下信息便是成功了
新建sonar-project.properties
扫描项目代码,在项目的根目录新建sonar-project.properties文件
设置参数
sonar.projectKey=唯一不能重复
sonar.projectName=和上相同即可
sonar.projectVersion=扫描版本可以不指定
sonar.sources=指定扫描的项目路径下的代码
sonar.sourceEncoding=字符格式
sonar.java.binaries=指定编译目录,官方示例没有提及,如果不设置扫描会报错,可以没有编译目录但必须设置次参数
sonar.login=账号
sonar.password=密码
# must be unique in a given SonarQube instance
sonar.projectKey=windows-demo
# --- optional properties ---
# defaults to project key
sonar.projectName=windows-demo
# defaults to 'not provided'
sonar.projectVersion=1.0
# Path is relative to the sonar-project.properties file. Defaults to .
sonar.sources=src\main\java
# Encoding of the source code. Default is default system encoding
sonar.sourceEncoding=UTF-8
sonar.java.binaries=.
sonar.login=test
sonar.password=test
扫描代码
在项目的跟下地址栏直接输入cmd回车,会打开cmd并在此路径下
输入sonar-scanner开始扫描
扫描完成会提示的项目访问地址
也可以直接访问SonarQube平台
二、Mac系统扫描
和Windows一样设置环境变量指定你存放sonarscanner的路径,path添加到bin目录,项目根目录创建sonar-project.properties并设置参数,终端跳到目录路径下执行sonar-scanner即可。
注意:占还不支持Mac M芯片,所以我这后面没演示了操作和Windows大同小异
三、Linux系统扫描
支持从Docker镜像中运行SonarScanner,别再又是下载文件又是配置环境变量,直接跑docker扫描
新建项目
选择手工方式
设置项目名称
选择本地
创建令牌,点击继续
将生成的令牌、项目名称、你的SonarQube地址复制出来
docker参数设置
将上面生成的参数复制到里面去
SONAR_HOST_URL:SonarQube地址
SONAR_SCANNER_OPTS:参数都放这里面,-D开头
SONAR_TOKEN:令牌
-v:挂载你要扫描的项目路径
docker run \
--rm \
-e SONAR_HOST_URL="http://ci.hkeasyspeed.com" \
-e SONAR_SCANNER_OPTS="-Dsonar.projectKey=Linux-demo -Dsonar.java.binaries=. -Dsonar.source=src/main/java -Dsonar.language=java" \
-e SONAR_TOKEN="sqp_9af67b60ad501403c1946d57153c8265f2cd62ca" \
-v "/data/demo/easyspeed/easyspeed-auth/src:/usr/src" \
sonarsource/sonar-scanner-cli
扫描完成
回到SonarQube平台查看