linux服务器安装SonarQube代码检测工具的详细步骤

目录
  • 背景
  • 注意(重点)
  • 步骤
    • 1、安装jdk
    • 2、安装配置mysql5.7
    • 3、安装SonarQube
    • 4、配置数据库和SonarQube
    • 5、安装中文语音包

背景

最近公司技术大佬同事告知,sonarlint可以用来检测代码是否有问题,并且能将其集成到Jenkins里面。本着好奇的心思来研究了一下,花了点时间将其在linux服务器上搭建完毕,网上可以查到的文章和教程资料并不少,但是很多写的不是很完美,会很容易踩坑,所以这里把本次成功的步骤记录下,并且把安装前注意的点接下来介绍下。

注意(重点)

这里需要注意,任何一个步骤错,都可能会导致服务起不来:

  • SonarLint是IDEA的插件,linux服务器上安装的是Sonarqube;
  • SonarQube安装之前需要事先安装好java环境和mysql,三者有很强的版本对应关系;
  • SonarQube在我写这篇文章时已经迭代到了8.99版本,但是7.8及以下的版本才支持jdk8,如果是7.9及以后版本的,只支持jdk11。这不算什么问题,即使你的环境是jdk8,你想用7.9以上的SonarQube也是可以的,只需要服务器上装个jdk11,让SonarQube指定jdk11就行了;
  • SonarQube在7.9版本开始不再支持mysql。 我平时用的mysql更多一些,而且我们的环境也正好是jdk8,所以不难看出,我的当下使用的SonarQube版本肯定是要小于等于7.8了。 我本次使用的各版本的安装包为:jdk-8u221-linux-x64.tar.gzmysql-5.7.35-el7-x86_64.tar.gzsonarqube-7.7.zip,这是百度云网盘下载链接。

链接: https://pan.baidu.com/s/1wpj-Q2ausDDc4XVAKJo9IQ?pwd=yxvt

提取码: yxvt

步骤

1、安装jdk

[root@localhost ~]# cd /usr      # 将jdk安装包放到/usr下并安装在此
[root@localhost usr]# tar -xf jdk-8u221-linux-x64.tar.gz
[root@localhost usr]# vim /etc/profile      # 输入以下三行环境变量
export JAVA_HOME=/usr/jdk1.8.0_221
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

[root@localhost usr]# source /etc/profile      # 使环境变量配置文件生效
[root@localhost usr]# java -version       # 弹出下面的三行内容说明jdk安装成功
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)

2、安装配置mysql5.7

[root@localhost ~]# cd /usr/local       # 本次将mysql安装包放到了/usr/local下并安装在此
[root@localhost local]# tar -xf mysql-5.7.35-el7-x86_64.tar.gz
[root@localhost local]# mv mysql-5.7.35-el7-x86_64  mysql    # 给目录改个简单的名
[root@localhost local]# groupadd mysql      # 创建个mysql用户组
[root@localhost local]# useradd -r -g mysql mysql      # 创建个mysql组的用户mysql
[root@localhost local]# mkdir -p  /data/mysql       # 创建个数据库数据目录
[root@localhost local]# chown mysql:mysql -R /data/mysql       # 将此数据目录的所属主和所属组分配给mysql

[root@localhost local]# vim /etc/my.cnf	  # 只保留以下13行内容,注意这里面的键值对要正确,默认跟着我的操作没问题
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

[root@localhost local]# cd /usr/local/mysql/bin/
[root@localhost bin]# ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
[root@localhost bin]# cat /data/mysql/mysql.err      # 页面输出内容最后一行查看并记下来数据库初始密码
[root@localhost bin]# ln -s  /usr/local/mysql/bin/mysql    /usr/bin  # 创建mysql短链接方便启动
[root@localhost bin]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
[root@localhost bin]# service mysql start       # 启动mysql,会有成功的提示
[root@localhost bin]# ps -ef|grep mysql       # 查得到mysql进程说明启动成功
[root@localhost bin]# mysql -u root -p      # 登录mysql,交互式输入上面看到的初始密码
mysql> SET PASSWORD = PASSWORD('123456');    # 更新密码,这里更新的123456,根据自己需要更新
mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;    # 设置root密码永不过期
mysql> FLUSH PRIVILEGES;     # 刷新
mysql> use mysql       # 访问mysql库,设置可以远程登录
mysql> update user set host = '%' where user = 'root';      # 使root能在任何host访问
mysql> FLUSH PRIVILEGES;       # 刷新完毕后,可以使用Navicat远程登录mysql,我这里为了方便就执行了

3、安装SonarQube

[root@localhost ~]# yum -y install unzip
[root@localhost ~]# mkdir /home/software      # 本次将SonarQube放到了该目录下,并安装在此
[root@localhost ~]# cd /home/software
[root@localhost software]# unzip sonarqube-7.7.zip
[root@localhost software]# cd sonarqube-7.7/bin/linux-x86-64/

这时候如果我们启动SonarQube可以发现是无法启动成功的,因为SonarQube里面包含了ElasticSearch插件,而Elasticsearch插件我们知道使用root用户无法启动的,所以SonarQube也不能使用root启动,使用root启动,该服务会马上自动关掉。

[root@localhost ~]# useradd conan        # 新建个用户conan
[root@localhost ~]# chown -R conan:conan /home/software/sonarqube-7.7
[root@localhost ~]# su - conan        # 切换为用户conan
[conan@localhost ~]$ cd /home/software/sonarqube-7.7/bin/linux-x86-64/
[conan@localhost linux-x86-64]$ ./sonar.sh start         # 使用conan启动服务
[root@localhost ~]# ss -ntulp | grep 9000		# 可以查到SonarQube已经启动成功

这时候我们已经可以使用浏览器访问SonarQube的web页面了。
SonarQube地址:http://服务器ip:9000/在右上角有login选项,账号密码默认都是admin。

4、配置数据库和SonarQube

在数据里面创建新库sonar,创建用户sonar。

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

修改SonarQube的配置文件

[root@localhost ~]# vim /home/software/sonarqube-7.7/conf/sonar.properties  # 写入以下8行
sonar.jdbc.username=sonar
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:mysql://192.168.0.149:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.path.data=/home/software/sonarqube-7.7/data
sonar.path.temp=/home/software/sonarqube-7.7/temp
sonar.web.host=192.168.0.149
sonar.web.port=9000
sonar.web.context=/sonar

[root@localhost ~]# su - conan        # 切换为用户conan
[conan@localhost ~]$ cd /home/software/sonarqube-7.7/bin/linux-x86-64/
[conan@localhost linux-x86-64]$ ./sonar.sh restart         # 使用conan重启服务

这个时候我们访问: http://服务器ip:9000/sonar 可以登录页面。

5、安装中文语音包

使用默认的账号密码 admin 可以 login,然后我们搜索 chinese 可以看到中文包,但是安装的话是安装不了的,因为中文包也有版本,需要和 SonarQube 版本对应,而在这里的web页面安装的中文包的版本是最新的版本,写着“Support SonarQube 9.5”,所以安装的话和我们的 SonarQube 不匹配会报错。(下图是已经安装过的对应版本的截图)。

这就需要我们去网上找中文包:github.com/xuhuisheng/…在该页面可以看到版本对应关系:即本次 7.7版本的SonarQube 对应的是 1.27 的中文安装包。

所以我们下载去历史提交找到对应的jar包:Releases · xuhuisheng/sonar-l10n-zh (github.com)本次是:sonar-l10n-zh-plugin-1.27.jar

然后将其放到SonarQube的插件目录内:

[root@localhost ~]# mv sonar-l10n-zh-plugin-1.27.jar /home/software/sonarqube-7.7/extensions/plugins
[root@localhost ~]# su - conan        # 切换为用户conan
[conan@localhost ~]$ cd /home/software/sonarqube-7.7/bin/linux-x86-64/
[conan@localhost linux-x86-64]$ ./sonar.sh restart         # 使用conan重启服务

最后我们访问http://服务器ip:9000/sonar就可以看到中文页面了。

到此这篇关于linux服务器安装SonarQube代码检测工具的文章就介绍到这了,更多相关linux服务器安装SonarQube内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Docker搭建代码检测平台SonarQube并检测maven项目的流程

    1 前言 良好的代码习惯是一个优秀程序员应该具备的品质,但靠人的习惯与记忆来保证代码质量,始终不是一件靠谱的事.在计算机行业应该深知,只要是人为的,都会有操作风险.本文讲解如何通过Docker搭建代码检测平台SonarQube,并使用它来检测maven项目的代码. 2 Docker安装SonarQube 2.1 安装 通过Docker安装,方便快捷,不需要时直接删掉容器和镜像就好了. # 拉取Sonar镜像 docker pull sonarqube:8.3.1-community # 运行实例

  • linux服务器安装SonarQube代码检测工具的详细步骤

    目录 背景 注意(重点) 步骤 1.安装jdk 2.安装配置mysql5.7 3.安装SonarQube 4.配置数据库和SonarQube 5.安装中文语音包 背景 最近公司技术大佬同事告知,sonarlint可以用来检测代码是否有问题,并且能将其集成到Jenkins里面.本着好奇的心思来研究了一下,花了点时间将其在linux服务器上搭建完毕,网上可以查到的文章和教程资料并不少,但是很多写的不是很完美,会很容易踩坑,所以这里把本次成功的步骤记录下,并且把安装前注意的点接下来介绍下. 注意(重点

  • 打造一款代码命名工具的详细教程

    你是否还在为代码命名而纠结不已? here are only two hard things in Computer Science: cache invalidation and naming things.-- Phil Karlton 那么如何更好的命名呢? 是否有好的工具可以支持我们命名呢?网上搜索一圈没有发现满意的,于是自己动手丰衣足食,https://jadepeng.gitee.io/code-naming-tool/. 使用方法: 打开网页后,在中文输入框中输入 中文命名,然后回

  • linux环境下安装jdk和Tomcat详细步骤

    目录 一.安装jdk 手动安装 二.Tomcat 一.安装jdk 注意:安装tomcat需要先配置jdk 一种是yum安装 一种是手动安装(个人推荐手动安装) 手动安装 1.去Oracle官网下载需要安装的jdk版本,我这里用的是jdk-8u171-linux-x64.tar.gz 2.将该压缩包放到/usr/local/jdk目录下,jdk目录需要自己手动创建,也可以叫java,名字自己随意取(见名知意),然后解压该压缩包, 输入如下指令: tar zxvf jdk-8u172-linux-x

  • vscode连接远程Linux服务器及免密登陆的详细步骤

    目录 写在开头 步骤1:在本机生成公钥和私钥 步骤2:在vscode安装Remote-SSH 步骤3:服务器端添加私钥到authorized_keys 步骤4:本机配置vscode文件 步骤5:选择服务器文件夹开始使用 写在开头 做深度学习科研难免需要较大的算力,此时就需要在GPU服务器上运行自己的程序.之前,我通过scp命令把代码上传到服务器后,在终端ssh连接服务器,通过一系列的Linux命令进行数据集和模型的操作.其实cd ls这些命令都还很方便,但是当我需要查看或修改源码时,用vim编辑

  • Linux中安装配置hadoop集群详细步骤

    一. 简介 参考了网上许多教程,最终把hadoop在ubuntu14.04中安装配置成功.下面就把详细的安装步骤叙述一下.我所使用的环境:两台ubuntu 14.04 64位的台式机,hadoop选择2.7.1版本.(前边主要介绍单机版的配置,集群版是在单机版的基础上,主要是配置文件有所不同,后边会有详细说明) 二. 准备工作 2.1 创建用户 创建用户,并为其添加root权限,经过亲自验证下面这种方法比较好. sudo adduser hadoop sudo vim /etc/sudoers

  • linux下php安装xml扩展的详细步骤

    php linux下安装xml扩展 1.进入PHP安装源码包,找到ext下的ftp,进入 cd /home/local/php-5.6.25/ext/xml 2.第二步 /usr/local/php/bin/phpize 3.第三步 ./configure --with-php-config=/usr/local/php/bin/php-config 4.第四步 make && make install 5.第五步 cp /usr/local/php/lib/php/extensions/

  • Mybatis日志参数快速替换占位符工具的详细步骤

    Mybatis log printf工具网页地址: http://www.feedme.ltd/log.html Mybatis执行的sql的打印格式为: 2020-08-04 09:16:44 -DEBUG - [io-8888-exec-5] .mapper.operation.OperationMapper.insert.        debug 145 : ==>  Preparing: INSERT INTO tulu.t_log_operation (id, module, mod

  • Python开发.exe小工具的详细步骤

    v1.0.0 完成基础框架.初始功能 背景:为了提高日常工作效率.学习界面工具开发,可以将一些常用的功能集成到一个小的测试工具中,供大家使用. 一.环境 Python3,pyinstall pyinstall安装: pip install pyinstaller   (会自动下载future,pywin32,pyinstaller) 或者采用国内镜像 pip install -i https://pypi.douban.com/simple/ pyinstaller(豆瓣源) 二.代码准备,直接

  • Linux上安装搭建Nginx服务器的详细步骤

    1.将nginx的压缩包nginx-1.8.0.tar.gz上传到Linux服务器 2.由于nginx是C语言开发的并且我们这里是通过编译nginx的源码来安装nginx,所以Linux上要安装C语言的编译环境gcc, 如果已经安装此步可以省略,否则执行命令: yum install gcc-c++ 3.nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库. yum install -y pcre pcre-devel 4.zlib库提供了很多种压缩和解压缩

  • Python3安装pip工具的详细步骤

    前几天安装Python的时候没有装上pip工具,所以只能现在手动安装了. 首先,访问https://bootstrap.pypa.io/get-pip.py这个网址,然后Ctrl+S将get-pip.py文件 保存到你所安装的Python的Scripts目录下: 然后进入Scripts目录,并在该目录下输入cmd,进入cmd界面: 在命令行界面输入python get-pip.py,pip3工具就会自动安装: 安装成功之后输入python -m pip --version, 确保成功安装了pip

随机推荐