ubuntu部署sonar与windows下使用sonar-scanner

ubuntu部署sonar与windows下使用sonar-scanner

sonar部署

使用的是sonarqube-7.5,支持的java环境是jdk8,且MySQL版本 >=5.6 && <8.0

java安装

  1. 打开终端,更新Ubuntu系统:
cmd 复制代码
sudo apt-get update
  1. 安装OpenJDK 8:
cmd 复制代码
sudo apt-get install openjdk-8-jdk

安装期间,可能需要输入管理员密码以确认安装。

  1. 安装完成后,同样可以通过java -version命令来验证Java是否安装成功。

mysql安装

  1. 下载mysql5.7的deb文件源码包,创建独立文件夹保存
cmd 复制代码
cd /opt
cmd 复制代码
mkdir mysql
cmd 复制代码
cd mysql
cmd 复制代码
sudo wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-server_5.7.35-1ubuntu18.04_amd64.deb-bundle.tar
  1. 解压源码包
cmd 复制代码
sudo tar -xvf mysql-server_5.7.42-1ubuntu18.04_amd64.deb-bundle.tar
  1. 删除名称带有test相关包,无用
cmd 复制代码
sudo rm -f mysql-community-test_5.7.42-1ubuntu18.04_amd64.deb 
sudo rm -f mysql-testsuite_5.7.42-1ubuntu18.04_amd64.deb
  1. 安装支持环境,密码为数据库root用户密码(输入2次):
cmd 复制代码
sudo apt install libtinfo5 libmecab2
  1. 使用dpkg命令安装
cmd 复制代码
sudo dpkg -i mysql-*.deb
  1. 查看版本
cmd 复制代码
mysql -V
  1. 查看mysql的状态
cmd 复制代码
systemctl status mysql
  1. 启动mysql
cmd 复制代码
systemctl start mysql
  1. 停止mysql服务
cmd 复制代码
systemctl stop mysql
  1. 重启mysql服务
cmd 复制代码
systemctl restart mysql
  1. 自启动
cmd 复制代码
systemctl enable mysql

编辑MySQL配置文件 (通常是/etc/mysql/mysql.conf.d/mysqld.cnf或/etc/my.cnf):

bash 复制代码
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

至少配置如下项:

cmd 复制代码
expire_logs_days        = 10
max_binlog_size         = 100M
query_cache_limit       = 1M
query_cache_size        = 16M
myisam-recover-options  = BACKUP
key_buffer_size         = 16M
max_allowed_packet      = 16M
thread_stack            = 192K
thread_cache_size       = 8

新建一个名为sonar的数据库:

配置sonarqube

复制sonarqube-7.5到系统中,编辑conf目录下的sonar.properties文件,其中

复制代码
# 语句中sonar就是上面新建的数据库
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false 
# 数据库用户
sonar.jdbc.username=root    
# 数据库密码
sonar.jdbc.password=123456
sonar.sorceEncoding=UTF-8 
# 默认sonar登录用户名
sonar.login=admin 
# 默认sonar登录密码
sonar.password=admin
sonar.jdbc.driverClassName=org.gjt.mm.mysql.Driver

# 检查一下web默认端口
sonar.web.port=9000


:

应用不能使用root运行,需要修改当前用户权限

cmd 复制代码
//新建用户
useradd name
//赋权
chown -R name.name sonar的目录
//修改密码
passwd sonar
//切换到sonar用户
su sonar
//启动: 进入到sonar目录下,即bin的同级目录,执行下边的命令
./bin/linux-x86-64/sonar.sh console

出现如下提示表示启动成功:

如果sonar.sh、wrapper还有elasticsearch/bin路径下的elasticsearch没有可执行权限使用chmod赋上可执行权限即可。

在浏览器访问http://服务器ip地址:9000就能打开网页:

插件安装

下载jar包,放到如下路径:

然后重启sonar即可。

sonar-scanner使用

下载sonar-scanner-cli

编辑sonar-scanner.properties配置文件:

复制代码
# 3306默认端口
sonar.jdbc.url=jdbc:mysql://数据库所在ip:3306/sonar
# 数据库用户名
sonar.jdbc.username=root
#数据库密码
sonar.jdbc.password=123456
sonar.sorceEncoding=UTF-8
# sonar登录用户名和密码
sonar.host.url=http://服务器ip:9000
sonar.login=admin
sonar.password=admin
sonar.projectVersion=1.0
sonar.sourceEncoding=UTF-8

# 检查语言类型
sonar.language=c
# sonar定义的任务唯一标识
sonar.projectKey=test_project
sonar.projectName=test_project
# 需要检查的工程根目录
sonar.sources=C:/test_project

然后将bin目录设置到系统环境变量中:

简单使用

输入一个令牌,名字随意:

我使用的是C语言,就选这个:

里面的任务唯一标识需要和sonar-scanner.properties中sonar.projectKey、sonar.projectName一致,配置好后点完成,先定义这里的任务唯一标识,再去修改sonar-scanner.properties中sonar.projectKey、sonar.projectName。

桌面新建一个文件夹,里面建一个main.c文件

c 复制代码
#include <stdio.h>
#include <stdlib.h>

int main()
{
    printf("hellow");
    return 0;
}

命令行到c文件同级目录:

输入命令<>开始扫描并打印日志

最后输出如下表示检查完成:

浏览器访问http://服务器ip地址:9000即可看到分析结果

安装了pdf插件这里也可以导出pdf报告:

相关推荐
Evand J3 小时前
【MATLAB例程】三维RRT+APF避障路径规划与到达角(AOA)定位算法|三维路径优化与定位仿真例程
算法·matlab·路径规划·代码·定位·rrt·aoa
搬砖的小码农_Sky3 小时前
AI Agent:如何处理Claude Code 最近版本(2026年更新)引入的模型上下文限制
人工智能·windows·ai·ai编程
Ivanqhz4 小时前
激活函数在 Transformer 中的作用及各种变体简述
java·linux·数据库·人工智能·深度学习
kakakahahahaha4 小时前
Windows C盘临时文件清理:%temp%、Windows Temp、Prefetch、Windows.old与hiberfil.sys处理指南
c语言·开发语言·windows
殷色玫瑰7 小时前
C/C++ 内存管理详解:从内存分布到 new/delete 底层原理
java·linux·c语言·c++
山岚的运维笔记7 小时前
ComfyUI NVIDIA安装教程:官方便携版下载+run_nvidia_gpu.bat启动,8G显存Windows实操
运维·服务器·windows·笔记·prompt·aigc·comfyui
꯭自꯭闭꯭8 小时前
DM7主备升级方案
linux·服务器·数据库
用户4107192013258 小时前
VMware 虚拟机Ubuntu 环境linux远程连接失败
linux
lisanmengmeng8 小时前
Nagios邮件报警的配置
linux·运维·服务器
Ruiery8 小时前
Linux 6.6内核 CPU 深度解析(六):cpufreq
linux·运维·服务器