SonarQube 项目配置文件

费话不说,直接上代码:

需要注意的地方:

1. 每个项目的key不能重复。

2. 注意编码方式。

3. 注意分模块的写法。

4. 忽略源码文件的写法。

# Required metadata
sonar.projectKey=EG:Fm
sonar.projectName=Fm
sonar.projectVersion=1.0
sonar.sourceEncoding=UTF-8

sonar.modules=csharp-module,javascript-module

# csharp-module 
csharp-module.sonar.projectName=Csharp Module
csharp-module.sonar.language=cs
csharp-module.sonar.sources=.
csharp-module.sonar.exclusions=**/obj/**/*
csharp-module.sonar.projectBaseDir=.


# javascript-module
javascript-module.sonar.projectName=JavaScript Module
javascript-module.sonar.language=js
javascript-module.sonar.sources=.
javascript-module.sonar.exclusions=**/lib/**/*,**/node_modules/**/*
javascript-module.sonar.projectBaseDir=.

以上配置文件在分析.net framework时没有问题,但分析.net core时,发现不能分析cs代码,在网上看到有博友说是sonarc#插件版本的问题,我也更新到最新版了,还是不行。

后来就用了新的dotnet-sonarscanner做代码分析,才可以分析.net core的代码。记录如下:

首先安装dotnet-sonarscanner: 这里的dotnet tool是随着.net core 2.1版本安装的,相当于npm的功能。

dotnet tool install --global dotnet-sonarscanner --version 4.3.1

其次在项目目录下运行命令:

sh "export PATH=$PATH:/root/.dotnet/tools && export DOTNET_ROOT=/usr/local/dotnet && cd ${projectDir}/ && /usr/local/bin/dotnet sonarscanner begin /k:'FutureMr' /d:sonar.host.url='http://10.117.150.41:39900' /d:sonar.login='d750699187a51815f44523d704d9afe7084aa96d' /d:sonar.exclusions='**/build/**/*,**/bin/**/*,**/obj/**/*,**/lib/**/*,**/node_modules/**/*,**/media/**/*,**/FmContent/**/*,**/css/**/*,**/images/**/*,**/Template/**/*'"
sh 'cd ${projectDir}/ && /usr/local/bin/dotnet build'
sh 'export PATH=$PATH:/root/.dotnet/tools && export DOTNET_ROOT=/usr/local/dotnet && cd ${projectDir}/ && /usr/local/bin/dotnet sonarscanner end /d:sonar.login="d750699187a51815f44523d704d9afe7084aa96d"'

我是在Jenkins的pipleline中运行的,由于pipeline中总是提示: 

No executable found matching command "dotnet-sonarscanner"

但是我们的path环境变量已经设置了,但jenkins不认,所以只能在这里重新设置。

原文地址:https://www.cnblogs.com/hankuikui/p/5780137.html