使用docker安装 sonar7.4并扫描代码

为什么选用7.4? 因为sonar8.x之后不支持jdk8了,实实在在的踩了坑。
在这里插入图片描述
参考博客:https://www.cnblogs.com/shenh/p/13428029.html
感谢作者

一、安装sonarQube7.4

1.拉取镜像

docker pull sonarqube:7.4-community

2.创建工作目录

mkdir -p /data/sonarqube

3.修改系统参数

echo "vm.max_map_count=262144" > /etc/sysctl.conf

//查看
sysctl -p

4.运行一个容器

docker run -d --name sonartest sonarqube:7.4-community

//将容器内重要文件复制到宿主机
docker cp sonartest:/opt/sonarqube/conf /data/sonarqube
docker cp sonartest:/opt/sonarqube/data /data/sonarqube
docker cp sonartest:/opt/sonarqube/logs /data/sonarqube
docker cp sonartest:/opt/sonarqube/extensions /data/sonarqube

//停止容器后删除
docker stop sonartest
docker rm sonartest

//创建网络
docker network create sonarqube-tier

//给文件赋权
chmod -R 777 /data/sonarqube/

5.创建容器并运行(mysql)


//进入mysql
docker exec -it mysql /bin/bash
mysql -uroot -p # 密码 
GRANT ALL ON *.* TO 'root'@'%';  #所有网络都可访问
create database sonar;     #创建 sonarqube 数据库

# 添加远程登录用户:sonar ,并授予权限。
CREATE USER 'sonar'@'%' IDENTIFIED WITH mysql_native_password BY 'sonar';  
GRANT ALL PRIVILEGES ON *.* TO 'sonar'@'%';

flush privileges;    # 刷新权限

docker run -d --name sonar -p 9090:9000 \
 -e ALLOW_EMPTY_PASSWORD=yes \
 -e SONARQUBE_DATABASE_USER=sonar \
 -e SONARQUBE_DATABASE_NAME=sonar \
 -e SONARQUBE_DATABASE_PASSWORD=sonar \
 -e SONARQUBE_JDBC_URL="jdbc:数据库IP://mysql:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false" \
 --restart=always \
 --net sonarqube-tier \
 --privileged=true \
 -v /data/sonarqube/logs:/opt/sonarqube/logs \
 -v /data/sonarqube/conf:/opt/sonarqube/conf \
 -v /data/sonarqube/data:/opt/sonarqube/data \
 -v /data/sonarqube/extensions:/opt/sonarqube/extensions\
 sonarqube:7.4-community

注意看容器里有无“sonar”、“sonartest”名称的容器,如果存在就删掉,否则会报错

二、访问sonar并扫描代码

1.地址为刚刚设置的9090
在这里插入图片描述
2.初始帐号密码为:admin、admin在这里插入图片描述
3.汉化
目前在市场只能搜索到9.0的汉化包,需要去官网下载对应的中文包
地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh/tags在这里插入图片描述
之后放进 /data/sonarqube/extensions/plugins

重启sonar即可

docker restart sonar

在这里插入图片描述

三、扫描项目

1.创建项目在这里插入图片描述
令牌随意输入在这里插入图片描述
在项目里运行maven命令即可
在这里插入图片描述
注意:如果报错在这里插入图片描述
mvn命令添加sonar.java.binaries参数:

-Dsonar.java.binaries=target/classes

若target目录下没有生成classes目录,可以先build下项目,也可以直接写如下路径:

-Dsonar.java.binaries=target/sonar

四、最后

上效果图
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值