SonarQube安装使用 | 最新快讯

简介

SonarQube是用于代码质量管理的开源平台,用于管理代码的质量,通过插件的形式,可以支持包括Java、PHP、C#、C、Cobol、PL/SQL、JavaScript、Groovy等等二十几种编程语言的代码质量管理与检测,是代码审查利器,可以帮助我们分析bug,漏洞,异味,代码覆盖率和重复代码的问题。

官网手册:Install the Server | SonarQube Docs

SonarQube由服务器、数据库、扫描仪和插件4部分组成。

环境搭建

本文档教程基于Docker容器搭建SonarQube平台,数据库使用Mysql。

由于不同SonarQube版本对jdk版本要求不一致,我们目前开发环境及生产环境实际使用均为jdk1.8,所以本次安装教程使用的是SonarQube7.8版本,7.8版本以上不支持jdk1.8及mysql数据库。

安装步骤:

1、安装mysql数据库,如已有数据库,则可直接使用,mysql安装步骤自行百度,此处不做介绍。

2、docker拉取SonarQube镜像。

docker pull sonarqube:7.8-community

3、启动SonarQube

docker run -d \
  --name sonarqube \
  -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true \
  -e SONARQUBE_JDBC_USERNAME=root  \
  -e SONARQUBE_JDBC_PASSWORD=root  \
  -e SONARQUBE_JDBC_URL=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false&serverTimezone=Asia/Shanghai  \
  -p 9092:9000 sonarqube:7.8-community

4、初次启动,因为需要初始化数据库等操作,需要等待一会才能访问,此时访问界面为英文界面,如果需要汉化可安装汉化包插件。

插件安装

1、汉化包:

sonarqube自带应用市场可以下载安装,但是由于应用市场提供的插件仅适配最新版sonarqube,我们只能通过手动下载安装汉化包。

下载地址:https://github.com/xuhuisheng/sonar-l10n-zh/releases/download/sonar-l10n-zh-plugin-1.28/sonar-l10n-zh-plugin-1.28.jar

可根据sonarqube版本查找对应的汉化包版本。

下载完成后上传至sonarqube的插件目录即可,由于我们是docker容器安装,所以我们需要先将插件包上传到我们的宿主机,然后通过docker命令复制至插件目录,sonarqube重启即可。

假设插件包宿主机所在位置为/tmp目录,命令如下:

docker cp /tmp/sonar-l10n-zh-plugin-1.28.jar sonarqube:/opt/sonarqube/extensions/plugins/

2、PDF报告导出:

1)项目地址:sonar-pdf-plugin: sonarqube生成pdf报告插件,支持 5.5--7.x

2)clone项目到本地,根据我们sonarqube版本切换到对应的分支:

我们安装的sonarqube版本为7.8,切换到项目的3.0.xfor7.0,编译项目:

mvn clean package -Dmaven.test.skip=true -Dlicense.skip=true

3)编译完成后,出现两个jar包,一个叫original-sonar-pdfreport-plugin-3.0.3.jar,一个叫sonar-pdfreport-plugin-3.0.3.jar。将sonar-pdfreport-plugin-3.0.3.jar通过docker命令上传至sonarqube插件目录,然后重启sonarqube。

docker cp /tmp/sonar-pdfreport-plugin-3.0.3.jar sonarqube:/opt/sonarqube/extensions/plugins/

4)启动完成后,在sonarqube配置栏会出现PDF Report,我们需要对该插件进行账号密码等配置,否则对该项目进行扫描,会发现PDF插件构建失败。

5)项目通过sonar扫描时,需输入该插件用户名及密码,参数如下:

sonar.pdf.username=XXX

sonar.pdf.password=XXX

比如通过maven扫描

mvn sonar:sonar -Dsonar.pdf.username=XXX -Dsonar.pdf.password=XXX

扫描方式(二种)

一、maven方式

1、修改maven的settings.xml文件,在profiles节点添加pofile节点及activeProfiles节点添加activeProfile节点

<profiles>
  <profile>
      <id>sonar</id>
      <activation>
          <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
          <!-- 平台登录的账号的用户名 -->
          <sonar.login>admin</sonar.login>
          <!-- SonarQube平台登录的账号的密码-->
          <sonar.password>admin</sonar.password>
          <!-- Sonar生成PDF插件用户名 -->
          <sonar.pdf.username>admin</sonar.pdf.username>
          <!-- Sonar生成PDF插件密码 -->
          <sonar.pdf.password>admin</sonar.pdf.password>
          <!-- Optional URL to server. Default value is http://localhost:9000 -->
          <sonar.host.url>
              http://192.168.1.141:9000 
          </sonar.host.url>
      </properties>
  </profile>
</profiles>

<activeProfiles>
  <activeProfile>sonar</activeProfile>
</activeProfiles>

2、通过maven编译项目时执行maven clean sonar:sonar即可

例如:maven clean package sonar:sonar -Dsonar.pdf.username=admin -Dsonar.pdf.password=admin -Dsonar.projectName=某某系统

二、sonar-scanner

1、下载地址:SonarScanner CLI

2、设置环境变量:直接将bin目录添加到path环境变量中

3、查看安装是否生效:打开cmd,输入:sonar-scanner -version,如下图所示,代表环境变量配置正确

如果出现:不是内部命令、外部命令的提示,代表环境变量没有配置正确。

4、修改sonar-scanner配置文件:

进入到sonar-scanner的conf目录,找到sonar-scanner.properties文件,配置sonarqube服务器地址,数据库地址,编码格式,如图:

5、进入项目中,通过cmd,执行如下命令即可

sonar-scanner.bat \
-D"sonar.projectKey=XXX" \
-D"sonar.host.url=http://192.168.2.122:9000/code_scan" \
-D"sonar.login=XXX" \
-D"sonar.password=XXX" \
-D"sonar.pdf.username=XXX" \
-D"sonar.pdf.password=XXX"

常见问题:

1、安装启动失败,查看日志提示max virtual memory areas vm.max_map_count [xxxx] is too low:

解决:

编辑sysctl.conf文件

vi /etc/sysctl.conf

末尾添加 vm.max_map_count = 262144

重新加载sysctl.conf

sysctl -p

重新启动sonarqube即可

如何更改 SonarQube 上项目的显示名称?

如果您的项目有一个文件,则名称是由该文件中的属性sonar-project.properties指定的。sonar.projectName=...

如果您在 Maven 项目中,此值来自根 POM 文件中提供的项目名称。

否则,您可以在运行分析时在命令行上设置名称,通常带有-Dsonar.projectName=...参数。

  • 27
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
使用谷歌学术下载文献,你可以按照以下步骤操作: 1. 首先,在浏览器中打开谷歌学术网站。 2. 输入你想要搜索的论文题目或关键词,并点击搜索按钮。 3. 在搜索结果中找到你感兴趣的论文,点击标题进入论文详细页面。 4. 在论文详细页面中,你会看到右侧有一个"下载PDF"或类似的按钮。点击该按钮,谷歌学术将尝试直接提供论文的全文下载链接。 5. 如果谷歌学术没有提供直接下载链接,你可以尝试查找论文的作者、期刊或其它来源,然后使用这些信息在互联网上搜索论文的全文。 请注意,获取论文全文需要遵守版权法规定。如果你无法找到论文全文或者无法合法获取,请尝试使用其他可用资源进行文献研究。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [高效的文献管理软件——Zotero](https://blog.csdn.net/qq_45891277/article/details/115791427)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [谷歌学术检索论文如何指定多个来源](https://blog.csdn.net/hhy_csdn/article/details/118611944)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

www3300300

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值