SonarQube系列之环境安装_Java



SonarQube介绍



1
什么是SonarQube?


SonarQube是一款优秀的代码质量管理的开源工具。

2
SonarQube特点


  • 支持多种编程语言;

  • 提供源代码的静态分析功能;

  • 方便在持续集成中使用 ;



3
为什么使用SonarQube

  • 帮助检测代码编写规范上存在的问题和漏洞;

  • 方便统计单元测试覆盖率;

  • 检测代码中大量重复的代码,提醒封装。


  SonarQube系列之环境安装_Java_02



docker安装SonarQube



这里就默认大家都安装了docker了,还没安装docker的自行安装。


1
docker安装postgresql


①拉取postgresql 的镜像。

docker pull postgres


如下所示:

SonarQube系列之环境安装_Java_03


②启动postgresql 数据库。

docker run --name db -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -d postgres


命令说明:

--name db  容器名称为db;

-e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar 设置数据库账号和密码,POSTGRES_DB设置默认数据库的名称。如果未提供,则默认为POSTGRES_USER的值;

-d:后台运行容器,并返回容器ID。


③查看postgresql 容器是否启动。

docker ps

如下所示:

SonarQube系列之环境安装_Java_04



2
docker安装SonarQube
①拉取SonarQube镜像

docker pull sonarqube


②启动SonarQube容器。

docker run --name sonar --link db -e SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar -e SONARQUBE_JDBC_USERNAME=sonar -e SONARQUBE_JDBC_PASSWORD=sonar -p 9000:9000 -d sonarqube


命令说明:

--name sonar  容器名称为sonar;

--link db 与上面运行的postgres容器进行通讯;

-d 后台运行容器,并返回容器ID;

-p  指定端口映射,宿主机端口:容器端口。


③查看SonarQube容器是否启动。

docker ps


如下所示:

SonarQube系列之环境安装_Java_05


噢,糟了,没启动,我们查下docker启动日志


       SonarQube系列之环境安装_Java_06


④查看SonarQube容器启动日志。

docker logs sonar


如下所示:

SonarQube系列之环境安装_Java_07


ok,找到报错原因了,接下来解决这个问题。


修改配置sysctl.conf

vi /etc/sysctl.conf


在末行追加,保存退出。

vm.max_map_count=655360


如下所示:

SonarQube系列之环境安装_Java_08


加载参数。

sysctl -p


⑥重新启动sonar容器

docker restart sonar


⑦查看sonar容器是否启动成功。

docker ps


如下所示:

SonarQube系列之环境安装_Java_09


⑧在浏览器输入:http://ip:9000/,访问sonarqube ,默认账号密码:admin/admin。

SonarQube系列之环境安装_Java_10


⑨更改密码,即可跳到主页。

SonarQube系列之环境安装_Java_11






往期内容宠幸

1.Python接口自动化-接口基础(一)


2.Python接口自动化-接口基础(二)


3.Python接口自动化-requests模块之get请求


4.Python接口自动化-requests模块之post请求


5.Python接口自动化之cookie、session应用


6.Python接口自动化之Token详解及应用


7.Python接口自动化之requests请求封装


8.Python接口自动化之pymysql数据库操作


9.Python接口自动化之logging日志


10.Python接口自动化之logging封装及实战

https://mp.weixin.qq.com/s/aYUYDaHaGYv3eZiGLOfvuA