在2019年10月16,SonarQube发布了8.0版,但是这不是一个LTS长期支持的版本,最近的一个LTS版本仍然是 LTS 7.9。
LTS 7.9的特性概要可参看下文:
SonarQube 8.0增加了一些新的特性,包括和GitLab的集成等。增加的与GitLab集成的特性内容主要如下所示:
对于分支和MR的支持
在SonarQube 8.0的版本,添加了对于GitLab的集成,通过简单的配置,在SonarQube 8.0中就能实现对于分支和MR(merge-request)进行自动分析的支持。这项特性使得SonarQube能够确认GitLab的分支和MR的issue信息,但需要注意的是此项特性CE版本中目前上没有提供,目前尽在DE、EE、DCE版本中提供。
关于SonarQube的CE、DE、EE和DCE等版本的介绍,可参看 SonarQube版本概要介绍
认证方式方式的增加
另外,SonarQube 8.0 还可以利用GitLab的用户认证功能进行登录认证,通过关联设定,SonarQube可以通过使用GitLab的用户认证进行身份确认,从而完成SonarQube的登录。
对于新增代码的准确管理
在存量代码的基线之上,增加了对于新增代码的更为准确的管理和控制,这对于新增代码部分不再继续积累技术债务的实践有很好的作用。
更快更准的安全分析
提供了一些更好的安全分析相关的一些特性,但此部分特性目前也在CE版本中并不提供,目前此部分功能仅在DE、EE和DCE版中提供。
扫描规则的增加
整体对于C#、C++、Python、Java、Go、HTML5、VB与Apex等8种语言的扫描规则进行了增加。其中Apex仅在EE和DCE版本中提供,而C++则仅在DE、EE和DCE版本中提供相关规则和特性。
其他特性
从SonarQube 7.9开始,不再支持MySQL数据库以及Java需要升级到Java 11是对既存的项目影响最大的变化。而且从SonarQube 8.0开始,对于静态扫描时所需要使用的JDK版本也开始有明示的需求了。对于原有系统的的影响最大的可能就是如果从较低的版本升级至SonarQube 8.0,数据库是MySQL的情况下,需要进行数据的移植,而SonarQube也提供了官方的解决方案,详细可以参看LTS 6.7版本升至LTS 7.9的升级指南:https://liumiaocn.blog.csdn.net/article/details/102788571
https://www.sonarqube.org/sonarqube-8-0/