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报告:

相关推荐
淮北4944 小时前
windows11配置wsl安装ubuntu20.04
windows·学习·ubuntu·wsl
鱼干~4 小时前
electron基础
linux·javascript·electron
apocelipes5 小时前
POSIX兼容系统上read和write系统调用的行为总结
linux·c语言·c++·python·golang·linux编程
森语林溪5 小时前
大数据环境搭建从零开始(十四)CentOS 7 系统更新源更换详解:阿里云镜像源配置完整指南
大数据·linux·运维·阿里云·centos
shykevin6 小时前
uni-app x开发商城系统,商品列表点击跳转至商品详情页
windows·uni-app
半梦半醒*6 小时前
k8s——service详解
linux·运维·docker·容器·kubernetes
浪潮IT馆6 小时前
Alibaba Cloud Linux 3 安装 SVN
linux·运维·svn
---学无止境---7 小时前
Linux内存管理揭秘:页表递归清理与TLB优化机制
linux
jarreyer7 小时前
【ubuntu离线安装Oracle 客户端】ldd /opt/oracle/instantclient_19_8/libclntsh.so
linux·ubuntu·oracle
vvw&7 小时前
如何在 Ubuntu 上安装 PostgreSQL
linux·运维·服务器·数据库·ubuntu·postgresql