sonarqube是什么

SonarQube是用于持续检查代码质量的开源平台。

可用于持续集成,持续部署流程中的代码检测环节。

idea和jenkins都提供了插件配合使用。

liunx推荐配置环境

liunx环境配置不合适的话,启动时会报错!

我后面的一个启动时报错就是没有达到要求的配置导致的。

sysctl -w vm.max_map_count=262144
sysctl -w fs.file-max=65536
ulimit -n 65536
ulimit -u 4096

docker-compose.yml


version: '3.1'
services:
db:
image: postgres
container_name: postgres
restart: always
db:
image: postgres
container_name: postgres
restart: always
ports:
- 5432:5432
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: 123456
POSTGRES_DB: sonar
PGDATA: /var/lib/postgresql/data/pgdata
volumes:
- /usr/local/docker/postgre/data:/var/lib/postgresql/data/pgdata
sonarqube:
image: sonarqube
container_name: sonarqube
restart: always
ports:
- 8007:9000
environment:
sonar.jdbc.username: postgres
sonar.jdbc.password: 123456
sonar.jdbc.url: jdbc:postgresql://db:5432/sonar
links:
- db
volumes:
- /usr/local/docker/sonarqube/conf:/opt/sonarqube/conf
- /usr/local/docker/sonarqube/extensions:/opt/sonarqube/extensions
- /usr/local/docker/sonarqube/logs:/opt/sonarqube/logs
- /usr/local/docker/sonarqube/data:/opt/sonarqube/data

首先部署PostgreSQL数据,也可以使用其他数据库。默认情况下,映像将使用不适合生产的嵌入式H2数据库。

H2是一个内存数据库,重启后数据就没有了。

推荐使用其他数据库。

配置说明

环境变量配置:

sonar.jdbc.username : 数据库账号

sonar.jdbc.password : 数据库密码

sonar.jdbc.url: jdbc : 数据库连接驱动

映射配置:

/opt/sonarqube/conf : 配置文件,例如 sonar.properties

/opt/sonarqube/data:数据文件,例如嵌入式H2数据库和Elasticsearch索引

/opt/sonarqube/logs:包含有关访问,Web进程,CE进程,Elasticsearch日志的SonarQube日志

/opt/sonarqube/extensions:插件,例如语言分析器 经提供了支持的数据库(Oracle除外)的驱动程序。不要更换提供的驱动程序;他们是唯一受支持的。对于Oracle,请将JDBC驱动程序复制到中$SONARQUBE_HOME/extensions/jdbc-driver/oracle。

遇到的问题1

docker-compose up -d

启动时报错:

解决方案

赋权限:

chmod -R 777 /usr/local/docker/sonarqube

遇到的问题2

启动时报错:

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决方案

切换到root用户

执行命令:

sysctl -w vm.max_map_count=262144

查看结果:

sysctl -a|grep vm.max_map_count

显示:

vm.max_map_count = 262144

上述方法修改之后,如果重启虚拟机将失效,所以:

解决办法:

在 /etc/sysctl.conf文件最后添加一行

vm.max_map_count=262144

即可永久修改

输入地址

成功!

Docker运行sonarqube-(代码质量检测平台)的更多相关文章

  1. 基于docker-compose搭建sonarqube代码质量检测平台

    一.需求 在我们开发的过程中,难免有时候代码写的不规范,或存在一些静态的bug问题,这个时候一个良好的代码检查工具就很有必要,而sonarqube正好可以满足整个要求. 二. docker-compo ...

  2. Docker 搭建代码质量检测平台 SonarQube

    开始搭建 1.获取 postgresql 的镜像 $ docker pull postgres 2.启动 postgresql $ docker run --name db -e POSTGRES_U ...

  3. 代码质量检测(SonarQube)整合中文版+阿里P3C

    代码质量检测(SonarQube)整合中文版+阿里P3C 简介 SonarQube是一种自动代码审查工具,用于检测代码中的错误,漏洞和代码异味.它可以与您现有的工作流程集成,以便在项目分支和拉取请求之 ...

  4. 代码质量检测-Sonar

    一. Sonar简介 sonarqube系统是一个代码质量检测工具 由以下四个组件组成(https://docs.sonarqube.org/display/SONAR/Architecture+an ...

  5. DevOps之持续集成SonarQube代码质量扫描

    一.SonarQube介绍       SonarQube是一个用于代码质量检测管理的开放平台,可以集成不同的检测工具,代码分析工具,以及持续集成工具.SonarQube 并不是简单地把不同的代码检查 ...

  6. Linux下SonarQube代码质量平台的安装和使用方法

    Sonar简介: Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,Java ...

  7. jenkins+sonarqube进行代码质量检测

    JavaNeverGiveUp教程篇 用jenkins+sonarqube去检查代码是非常方便的,它能检查出代码中可能存在的一些问题,比如io流未关闭.空指针异常.死循环.代码不规范等问题. 1. 搭 ...

  8. sonar的安装与代码质量检测实例

    说明:sonar依赖数据库. mysql优化 1.笔者使用的是mysql数据库.首先对mysql做简单的优化配置. [root@localhost bin]# cat /etc/my.cnf [mys ...

  9. SonarQube代码质量扫描持续集成

    1.安装JDK和配置JAVA_HOME和CLASSPATH 2.安装mysql数据库 3.创建数据库和用户 mysql -u root -p mysql> CREATE DATABASE son ...

随机推荐

  1. 解决 .net core 中 nuget 包版本冲突问题[转载]

    今天在一个 asp.net core 项目中遇到了 nuget 包版本冲突的问题,错误信息如下: Version conflict detected for Microsoft.AspNet.WebA ...

  2. Java | 日期类型的绍介和操作

    Date类 Date类在java.util.Date,Date类表示特定的瞬间,精确到毫秒.(毫秒是千分之一秒)毫秒可以对时间和日期进行计算,可以把日期转换为毫秒进行计算,计算完毕,再把毫秒转换为日期 ...

  3. servlet核心技术2

    一.Servet 与 JDBC 在Servlet中可以使用JDBC技术访问数据库,查询DB数据,然后生成显示页面,接收请求参数,然后对DB操作 为了方便重用和便于维护等目的,经常会采用DAO(Data ...

  4. CLion安装、激活、配置教程

    clion下载 1.进入官网 https://www.jetbrains.com/zh-cn/clion/download/#section=windows下载,下载.exe文件即可 2.点击下载好的 ...

  5. 一文搞懂一致性hash的原理和实现

    在 go-zero 的分布式缓存系统分享里,Kevin 重点讲到过一致性hash的原理和分布式缓存中的实践.本文来详细讲讲一致性hash的原理和在 go-zero 中的实现. 以存储为例,在整个微服务 ...

  6. java 向Redis中存放数据 List<Device>转String

    /** * redis服务 */ @Autowired private RedisService redisService; //创建 Device  对象 Device no = new Devic ...

  7. Scrapy+splash报错 Connection was refused by other side

    报错信息如下: Traceback (most recent call last):   File "/usr/local/lib/python3.7/site-packages/scrap ...

  8. Bootstrap 树形列表与右键菜单

    Bootstrap 树形列表与右键菜单 介绍两个Bootstrap的扩展 Bootstrap Tree View 树形列表 jQuery contextMenu 右键菜单 Demo采用CDN分发,直接 ...

  9. 关于intouch/ifix嵌入视频控件并使用(海康,大华)

    2017年下半年项目开始接触利用intouch工控软件来进行项目二次开发.其中关于驱动的问题始终是上位机的重中之重,暂且不表(嘿嘿--),首先遇到的问题就是在弹窗中嵌入视频控件,监控设备的开停状态.经 ...

  10. Aapache Tomcat AJP 文件包含漏洞(CVE-2020-1938)

    受影响版本 Apache Tomcat 6 Apache Tomcat 7 < 7.0.100 Apache Tomcat 8 < 8.5.51 Apache Tomcat 9 < ...