欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~
介绍
代码质量是特定代码片段的有用性和可维护性的近似值。质量代码将使维护和扩展应用程序的任务变得更加容易。它有助于确保在将来进行必要的更改时引入更少的漏洞。
SonarQube是一个开源工具,可以帮助进行代码质量分析和报告。它会扫描用户的源代码,查找潜在的错误,漏洞和可维护性问题,然后在报告中显示结果,方便用户识别应用程序中的潜在问题。
SonarQube工具包含两个子应用程序:分析引擎,它安装在开发人员的机器上,以及一个用于记录保存和报告的集中式服务器。单个SonarQube服务器实例可以支持多个扫描程序,使用户可以统一集中来自许多开发人员的代码质量报告。
在本教程中,用户通过配置SonarQube服务器和扫描程序来分析并创建代码及质量报告。之后可以使用SonarQube工具扫描机器,对用户的机器进行测试。
准备
在开始阅读本教程之前,你需要遵循以下内容:
- 一台已经设置好可以使用
sudo命令的非root账号、内存为2GB或更多的UGBntu 16.04服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后在购买服务器。 - 在服务器上安装Oracle Java 8,您可以参考 如何在Ubuntu 18.04上安装Java。
- 对Nginx和MySQL进行配置,您可以参考在CVM上搭建网页服务器(LNMP)。
- 给Nginx 配置SSL证书,您可以参考如何在Ubuntu上使用SSL来保护Nginx。
- 当用户安装SonarQube的服务器时,会有一个完全限定的域名和一个A记录。我们将在本教程中使用
sonarqube.example.com。
第一步 - 准备安装
在安装SonarQube之前,我们需要执行几个步骤。由于SonarQube是一个将作为服务运行的Java应用程序,并且因为以root用户身份运行服务肯定不理想,我们将专门创建另一个系统用户来运行SonarQube服务。然后我们将创建安装目录并设置其权限并为SonarQube创建一个MySQL数据库和用户。
首先,创建一个sonarqube用户:
$ sudo adduser --system --no-create-home --group --disabled-login sonarqube我们只会使用此用户来运行SonarQube服务,因此我们创建了一个无法直接登录服务器的系统用户。
接下来,创建保存SonarQube文件的目录:
$ sudo mkdir /opt/sonarqube创建目录后,更新权限,以便用户能够读取和写入此目录中的文件:
$ sudo chown -R sonarqube:sonarqube /opt/sonarqubeSonarQube版本以压缩格式打包,因此unzip会使用用户的软件包管理器安装该实用程序,以便用户可以提取分发文件:
$ sudo apt-get install unzip接下来,我们需要创建为SonarQube使用的数据库和凭据。作为root用户登录MySQL服务器:
$ mysql -u root -p创建SonarQube数据库:
mysql> CREATE DATABASE sonarqube; mysql> EXIT;创建SonarQube用于访问数据库的凭据。
mysql> CREATE USER sonarqube@'localhost' IDENTIFIED BY 'some_secure_password'; mysql> GRANT ALL ON sonarqube.* to sonarqube@'localhost';授予权限,以便新创建的用户可以更改SonarQube数据库:
mysql> GRANT ALL ON sonarqube.* to sonarqube@'localhost';然后更改应用权限并退出MySQL控制台:
