在Ubuntu 18.04上搭建SonarQube服务

版权声明:本文为博主原创文章,未经博主允许不得转载。Flutter交流QQ群:271733776,共同学习、进步! https://blog.csdn.net/hekaiyou/article/details/82996279

在Ubuntu 18.04上搭建SonarQube服务

安装MySQL

在Ubuntu 18.04上,默认情况下,只有最新版本的MySQL包含在APT软件包存储库中,你可以直接更新服务器上的软件包索引并使用apt安装默认软件包。

sudo apt update
sudo apt install mysql-server

这样安装MySQL不会提示您设置密码或进行任何其他配置更改,使用你需要更改root用户的密码。先查看mysql安装的路径,再查看默认密码。

cd /etc/mysql
whereis mysql
sudo cat debian.cnf

在这里插入图片描述

然后你可以直接使用默认的账号密码登录mysql,例如下面命令中的账号密码来源于上面获取的默认账户。

mysql -u debian-sys-maint -p
[Enter password] cXzi3iw12iQgVFw0

在这里插入图片描述

然后通过下面的sql命令更改root默认用户名和密码。

use mysql;
update mysql.user set authentication_string=password('root') where user='root' and Host ='localhost';
update user set plugin="mysql_native_password";
flush privileges;
quit;

在这里插入图片描述

如果你顺利的执行了上面的所有操作,你可以重新启动mysql,验证一下是否成功修改root用户名和密码。

sudo service mysql restart
mysql -u root -p
[Enter password]root

不管你如何安装它,MySQL应该已经开始自动运行,要测试它,你可以检查其运行状态。

systemctl status mysql.service

在这里插入图片描述

如果mysql没有运行,你可以用sudo systemctl start mysql启动它。

创建sonar数据库

将mysql的安全性降低最低,以方便你创建最简单的密码,反正这只是教程,不用管安全。

mysql -u root -p
[Enter password]root

set global validate_password_policy=0;
set global validate_password_length=1;

登陆mysql创建sonar数据库和用户,用户是sonar,密码是sonar。

mysql -u root -p
[Enter password]root

CREATE DATABASE sonar DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar'; 
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
FLUSH PRIVILEGES;

安装JRE/JDK

默认情况下,Ubuntu 18.04包含Open JDK,它是JRE和JDK的开源版本。所以你应该先更新软件包索引,再检查Java是否已经安装。

sudo apt update
java -version

在这里插入图片描述

上面的输出表示Java当前未安装,你可以执行下面命令来安装OpenJDK,并验证安装。

sudo apt install default-jre
java -version

该命令将安装Java运行时环境(JRE),这将允许你运行几乎所有的Java软件。

除了JRE之外,你可能还需要Java开发工具包(JDK)才能编译和运行一些特定的基于Java的软件,你可以检查JDK是否已经安装。

sudo apt update
javac -version

在这里插入图片描述

上面的输出说明当前系统没有安装JDK,你需要执行以下命令安装JDK,并验证安装。该命令也将安装JRE。

sudo apt install default-jdk
javac -version

通过java -versionjavac -version可以检查Java的版本,可以用来验证是否安装了JRE/JDK。

安装SonarQube

首先你需要到 SonarQube官网下载地址 下载最新的SonarQube版本,并解压缩到任意目录下。同时将SONAR_RUNNER_HOME变量加入PATH,配置SonarQube的环境变量。

# 使用vim编辑
sudo vim /etc/profile
# 添加内容
SONAR_HOME="/home/parallels/sonarqube-7.3/"
# 重启环境变量
. /etc/profile

你需要为SonarQube配置数据库配置,修改和增加./conf/sonar.properties文件的内容。(其实大部分都是取消注释就可以了)

sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.web.host=0.0.0.0
sonar.web.context=/sonar
sonar.web.port=9000

使用下面的命令启动SonarQube,并检查SonarQube的启动状态。

cd sonarqube-7.3/bin
cd linux-x86-64
./sonar.sh start
./sonar.sh status

在这里插入图片描述

当你启动失败时,就像上面的输出启动成功,状态却是没有在运行,你可以观察启动日志,来定位错误信息。

tail -200f ../../logs/sonar.log

当然最好的方法是在执行启动命令前,同时观察启动日志,这是可以最直观的看到是否启动成功。

1号坑

在这里插入图片描述

提升没有权限,你只要添加sudo执行启动命令就可以了。

sudo ./sonar.sh start

在这里插入图片描述

2号坑

在这里插入图片描述

提示部分功能在Java 9版本中就放弃支持,你需要下载Java 8,并把系统默认版本切换到Java 8版本。

sudo apt install openjdk-8-jdk
sudo update-alternatives --config java
java -version

在这里插入图片描述

3号坑

当启动时没有错误信息,但是SonarQube一启动又马上关闭,所以你需要使用下面命令观察运行日志。

tail -200f ../../logs/es.log

在这里插入图片描述

由于SonarQube 6.6以后版本加入了elasticsearch,你会遇到不能以root用户启动elasticsearch的问题。这里你可以用最简单粗暴的方法解决,直接为当前用户赋予sonarqube-7.3目录的权限。

sudo chown -R parallels:parallels  sonarqube-7.3

这样操作以后,操作SonarQube时就不再需要添加sudo来执行命令了,也是挺好。

初识SonarQube

当你完成SonarQube的安装过程,你可以通过 http://127.0.0.1:9000/sonar 访问SonarQube主页。

在这里插入图片描述

SonarQube的默认管理账户是admin/admin,你登录以后会进入项目管理主页,但还是有点懵?不知道具体含义?没关系,你可以安装汉化包。

在页面上找到 Administration > Marketplace ,在搜索框中输入 chinese ,会搜索出一个 Chinese Pack ,点右侧的 install 按钮开始安装。

在这里插入图片描述

安装成功后,会提示重启SonarQube服务器,稍等一会,再看页面上已经显示成中文,这时候你就可以开始探索SonarQube了。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/hekaiyou/article/details/82996279