在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 必须为企业版。