在Mac上使用 SonarQube 扫描 Xamarin Project

Mac机上安装并使用SonarQube,我使用的方式简单粗爆,就是用Docker,如果不使用Docker的同学,请自行去官网看官方文档进行安装。

Docker安装不在这里,我默认你已经有!

第一步:

# default get latest (current 7.9.1-community)
$ docker pull sonarqube

 

第二步:(以下两个方法二选择一,没有特别需求,没有数据库的选第一个就好了)

# Start the server by running:
$ docker run -d --name sonarqube -p 9000:9000 sonarqube

# Run the image with your JDBC username and password :
$ docker run -d --name sonarqube \
  -p 9000:9000 \
  -e sonar.jdbc.username=sonar \
  -e sonar.jdbc.password=sonar \
  -v sonarqube_conf:/opt/sonarqube/conf \
  -v sonarqube_extensions:/opt/sonarqube/extensions \
  -v sonarqube_logs:/opt/sonarqube/logs \
  -v sonarqube_data:/opt/sonarqube/data \
  sonarqube

 

第三步:

本地使用浏览器(Chrome)访问 http://localhost:9000 ,并使用默认 用户名(admin) / 密码(admin) 登录。

 

第四步:

  1. 在 SonarQube 界面中找到 [Create new project] ,新建项目;

  2. 输入 key 同 display name;

  3. 输入一个 Token 名,系统会自动创建token,建议记录下来,后面会反复使用;

  4. 选择 [C# or VB.NET];

  5. 点击 [Download] 转跳到下载 MSBuild 的页面;

  6. 下载并解压 .NET Core 版本的 [SonarScanner for MSBuild]

  7. 建议下载并安装 [SonarScanner for MSBuild .NET Core Global Tool]  (不安装此工具,后面的命令都要打路径跟文件名(dll文件))

$ dotnet tool install --global dotnet-sonarscanner --version 4.7.1

 

第五步:

# 这个可以直接在 SonarQube 页面复制
# begin MSBuild and set sacn version
$ dotnet sonarscanner begin /k:"{your project key}" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="{your token}" /v:{your version}

# 重点中的重点,不要使用 SonarQube 页面上的命令,换成以下
# set build project and config
$ msbuild {your solution file path (e.g. xxx.sln)} /p:Configuration=Release /p:Platform=iPhone /t:rebuild

# 这个可以直接在 SonarQube 页面复制
# end MSBuild and automatic scan
$ dotnet sonarscanner end /d:sonar.login="{your token}" 

 

第六步:

回到 SonarQube 的 Project 页面上刷新看扫描结果,顺带一提,Docker安装的是社区版,不支持导出 PDF,要导出 PDF 必须为企业版。

posted on 2019-12-05 10:58  BadTree  阅读(206)  评论(0编辑  收藏  举报