• SonarQube 安装


    环境准备

    系统环境
    CentOS Linux release 7.4.1708jdk1.8.0_201、maven-3.6.0、sonarqube-7.7、sonar-scanner-3.3.0.1492-linux
    • 软件包下载地址:

    链接:https://pan.baidu.com/s/1ACDzcOBe8Y3pzmqta_Nhcw
    提取码:kkqu

    一、安装 MySQL

    注意: MySQL版本必须>=5.6<8.0、 在这里我用的版本是5.7

    SonarQube Docs # 安装哪个版本看那个版本依赖的环境

    [root@localhost ~]# wget https://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
    [root@localhost ~]# rpm -ivh mysql57-community-release-el7-10.noarch.rpm
    [root@localhost ~]# yum install mysql-server -y
    [root@localhost ~]# cat /etc/my.cnf
    [mysqld]
    datadir=/home/mysql
    socket=/home/mysql/mysql.sock
    
    symbolic-links=0
    
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    
    [client]
    socket=/home/mysql/mysql.sock
    [root@localhost ~]# mkdir /home/mysql/ -p
    [root@localhost ~]# chown mysql. /home/mysql/ -R
    [root@localhost ~]# cat /var/log/mysqld.log | grep "root@localhost"		# 查看MySQL密码
    2022-06-27T01:51:00.541347Z 1 [Note] A temporary password is generated for root@localhost: hnq*Ka:E!6.V
    [root@localhost ~]# mysql -uroot -p
    mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
    mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';  	#  创建SonarQube Server访问数据库的用户:
    mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
    mysql> flush privileges;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    二、安装 SonarQube 依赖环境

    1、创建用户因为sonarqube和elasticsearch都不能使用 root 用户启动
    [root@localhost ~]# useradd sonar
    [root@localhost ~]# passwd sonarqube
    2、修改服务器指标、elasticsearch需要
    [root@localhost ~]# vi /etc/sysctl.conf
    vm.max_map_count=262144
    [root@localhost ~]# sysctl -p
    [root@localhost ~]# vi /etc/security/limits.conf
    sonar hard nofile 65536
    sonar soft nofile 65536
    3、安装jdk、maven环境
    [root@localhost ~]# tar zxf jdk-8u201-linux-x64.tar.gz
    [root@localhost ~]# mv jdk1.8.0_201/ /usr/local/
    [root@localhost ~]# tar zxf apache-maven-3.6.0-bin.tar.gz 
    [root@localhost ~]# mv apache-maven-3.6.0/ maven-3.6.0
    [root@localhost ~]# vim /etc/profile
    export JAVA_HOME=/usr/local/jdk1.8.0_201
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
    
    export MAVEN_HOME=/usr/local/maven-3.6.0
    export PATH=$PATH:$MAVEN_HOME/bin
    [root@localhost ~]# source /etc/profile
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    三、安装 SonarQube

    [root@localhost ~]# unzip sonarqube-7.7.zip -d /home/
    [root@localhost ~]# chown sonar. /home/sonarqube-7.7/ -R	# 修改目录拥有者
    [root@localhost ~]# su - sonar
    [sonar@localhost ~]$ cd /home/sonarqube-7.7/conf/
    [sonar@localhost conf]$ cat sonar.properties | grep -v "^#" | grep -v "^$"
    sonar.jdbc.username=sonar
    sonar.jdbc.password=sonar
    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.port=9000
    [sonar@localhost conf]$ vim wrapper.conf
    wrapper.java.command=/usr/local/jdk1.8.0_201/bin/java	# 修改java环境目录
    [sonar@localhost conf]$ cd /home/sonarqube-7.7/bin/linux-x86-64/
    [sonar@localhost linux-x86-64]$ ./sonar.sh start	# 启动 sonar
    [sonar@localhost linux-x86-64]$ tail -30 /home/sonarqube-7.7/logs/sonar.log 	# 查看启动有没有报错
    ------
    ------
    2022.06.27 10:55:41 INFO  app[][o.s.a.SchedulerImpl] Process[ce] is up
    2022.06.27 10:55:41 INFO  app[][o.s.a.SchedulerImpl] SonarQube is up
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    四、验证 sonar 访问是否正常

    默认用户密码: admin

    在这里插入图片描述

    五、sonar 默认是英文

    将汉化包放到sonar 安装目录下的 extensions/plugins/sonar-l10n-zh-plugin-1.24.jar、然后重启

    六、安装扫描器

    [root@localhost ~]# unzip sonar-scanner-cli-3.3.0.1492-linux.zip -d /home/
    [root@localhost ~]# vim /etc/profile
    export Sonar_Home=/home/sonar-scanner-3.3.0.1492-linux
    export PATH=$Sonar_Home/bin:$PATH
    [root@localhost ~]# source /etc/profile
    [root@localhost ~]# cd /home/sonar-scanner-3.3.0.1492-linux/conf/
    [root@localhost conf]# vim sonar-scanner.properties 
    sonar.host.url=http://localhost:9000
    sonar.sourceEncoding=UTF-8
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    七、验证扫描代码

    1、创建代码项目

    在这里插入图片描述

    在这里插入图片描述

    2、创建一个令牌

    在这里插入图片描述

    3、选择自己需要分析的代码语言、将命令复制在自己代码当前执行

    在这里插入图片描述

    -D 详细参数可查看

    [root@localhost ~]# cd /home/sonar/bdqnapp/
    [root@localhost bdqnapp]# mvn sonar:sonar \
      -Dsonar.projectKey=test \
      -Dsonar.host.url=http://172.16.4.183:9000 \
      -Dsonar.login=38409a03fc4118120d7b1dc1a7dac53c5e82a641
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    • sonar 验证扫描结果

    在这里插入图片描述

    8、安全设置

    详细安全设置可查看

    • 强制要求必须登录SonarQube、如果不开启的话匿名用户也可以直接mvn sonar:sonar
      在这里插入图片描述
      用管理员账号登录SonarQube,打开Administration > Configuration > General Settings > Security,开启Force user authentication,点击Save保存生效。

    在这里插入图片描述
    再次刷新验证
    http://172.16.4.183:9000/
    在这里插入图片描述

  • 相关阅读:
    linux安装wget命令_linux下载文件到本地命令
    修改node_modules避免更新覆盖 patch-package
    从React源码来学hooks是不是更香呢
    Linux 之 vim
    你在犹豫吗?--疫情换工作后记
    Git使用
    红黑树概念和旋转实现
    Could the Earth be swallowed by a black hole?
    【YOLOv7_0.1】网络结构与源码解析
    java学习笔记(十一)—— 异常机制
  • 原文地址:https://blog.csdn.net/qq_43164571/article/details/125486951