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.propertiessonar.projectKey、sonar.projectName一致,配置好后点完成,先定义这里的任务唯一标识,再去修改sonar-scanner.propertiessonar.projectKey、sonar.projectName

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

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

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

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

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

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

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

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

相关推荐
写完这行代码打球去5 分钟前
vscode更新后: 适用于 Linux 的 Windows 子系统必须更新到最新版本才能继续。可通过运行 “wsl.exe --update” 进行更新
linux·windows·vscode
阳光九叶草LXGZXJ26 分钟前
达梦数据库-学习-10-SQL 注入 HINT 规则(固定执行计划)
linux·运维·数据库·sql·学习
买辣椒用券1 小时前
Linux Shell 脚本编程极简入门指南
linux·运维·服务器
君科程序定做1 小时前
Insar结合ISCE2,某一个文件进行并行-stackSentinel.py
linux·python
一道秘制的小菜2 小时前
Linux_17进程控制
linux·运维·服务器·开发语言·网络·c++·vim
破刺不会编程2 小时前
Linux中的基本指令(下)
linux·运维·服务器
冷冷清清中的风风火火2 小时前
linux在 Ubuntu 系统中设置服务器时间
linux·服务器·ubuntu
渣檬Charman3 小时前
Linux基础开发工具—vim
linux·编辑器·vim
佚明zj3 小时前
解决ubuntu(jetpack)系统下系统盘存储不够的
linux