Docker搭建Sonarqube服务(二)

通过前面的Sonar服务环境搭建,我们已经在服务端完成了相关的搭建。为了能够方便的扫描代码,我们需要安装sonar client来进行代码的扫描。

一、插件安装与汉化

通过前面安装的服务端,访问时展示的为英文,为了用户体验我们还是汉化它吧。正常来讲,我们可以在服务端下载安装汉化功能:

首先通过admin登录,进行配置管理,然后

配置>>应用市场>>搜索 chinese>>点击安装即可。

 另外,需要对各种语言的扫描插件进行下载安装,我这边的具体操作是浏览了下各个语言的特性,然后系统自动进行了安装,安装完毕之后的插件全部在容器的如下目录:

/opt/sonarqube/extensions/plugins目录下,我们通过卷轴映射挂载,可以在宿主机的对应目录下找到这些文件,通过将该文件夹进行打包,可以拷贝进入内网隔离的服务器。

然后放到隔离机器的映射目录下即可。

 

另外,汉化包可以或者通过如下直接下载的方式进行

下载地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/tag/sonar-l10n-zh-plugin-8.3

然后通过docker镜像与宿主机的映射,我们将下载的 汉化包放在如下目录映射,然后重启镜像即可:

sonarqube_extensions/plugins:/opt/sonarqube/extensions/plugins

 另外,注意一下各种语言检测插件最好直接在官网进行下载,比如Java,然后手动copy到plugins目录下,并且将前面步骤自动安装的Java包进行替换,否则容易出现版本问题导致扫描错误

 

二、客户端扫描

为了能够快速扫描代码,我们需要在不同的环境使用不同的客户端,比如Maven环境,Gradle环境,Jenkins环境等等。每个环境的客户端安装参考sonarqube官网

 由于我们现有的工程无法通过maven等管理工具,所以只能下载通用类型的scanner

 

 

下载完毕之后,按照官方文档进行配置,找到客户端的解压目录,找到conf目录,然后增加配置文件sonar-scanner.properties ,配置文件如下:

sonar.host.url=http://localhost:9000      #按照实际地址填我们前面搭建的sonar服务端地址
sonar.sourceEncoding=UTF-8

然后将安装目录中的/bin文件夹路径添加到系统环境,win系统通过命令行:进行验证是否配置成功。

sonnar-scanner

 

 

三、扫描配置

根据官网的提示,现在对Java代码进行扫描,需要提供class文件,否则就会提示你需要在配置文件中提供class目录,这意味着我们需要先对项目进行编译,然后在待扫描的工程项目中配置sonar.project.properties文件,增加如下配置:

 

sonar.java.binaries=d:/myProject/out
sonar.projectKey=test
sonar.sourceEncoding=UTF-8
sonar.scm.disabled=true

 

其它配置文件的内容可以参考:

# must be unique in a given SonarQube instance
sonar.projectKey=my:project

# --- optional properties ---

# defaults to project key
#sonar.projectName=My project
# defaults to 'not provided'
#sonar.projectVersion=1.0
 
# Path is relative to the sonar-project.properties file. Defaults to .
#sonar.sources=.
 
# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8

 

 

 

 参考:

https://www.cnblogs.com/eoalfj/p/12582837.html

posted @ 2020-06-23 17:38  sliec  阅读(390)  评论(0编辑  收藏  举报