基于docker-compose搭建sonarqube代码质量检测平台
一、需求
在我们开发的过程中,难免有时候代码写的不规范,或存在一些静态的bug问题,这个时候一个良好的代码检查工具就很有必要,而sonarqube
正好可以满足整个要求。
二、 docker-compose 文件的编写
version: "3"
services:
sonarqube:
image: sonarqube:8.3.1-community
container_name: sonarqube
restart: 'no'
networks:
- sonarnet
environment:
- sonar.jdbc.username=sonar
- sonar.jdbc.password=sonar
- sonar.jdbc.url=jdbc:postgresql://sonarqube-postgre:5432/sonarqube
- sonar.search.javaOpts=-Xms256m -Xmx256m
ports:
- "9010:9000"
- "9011:9092"
depends_on:
- sonarqube-postgre
links:
- sonarqube-postgre
volumes:
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
- sonarqube_bundled-plugins:/opt/sonarqube/lib/bundled-plugins
sonarqube-postgre:
image: postgres:12.3
container_name: sonarqube-postgre
restart: 'no'
networks:
- sonarnet
environment:
- POSTGRES_USER=sonar
- POSTGRES_PASSWORD=sonar
- POSTGRES_DB=sonarqube
volumes:
- sonarqube_postgre_db:/var/lib/postgresql
- sonarqube_postgre_data:/var/lib/postgresql/data
volumes:
sonarqube_bundled-plugins:
sonarqube_data:
sonarqube_extensions:
sonarqube_postgre_db:
sonarqube_postgre_data:
networks:
sonarnet:
driver: bridge
三、运行
docker-compose -f 文件路径 up
四、注意事项
sonarqube
的镜像数据挂载,最好使用数据卷volume
。- 在多个
sonarqube
实例 中不可使用相同的数据卷。 - 每个
sonarqube
实例 最好有
自己的单独
的数据库schema
。 es
在linux
环境下运行需要注意的必要环境,可以看 下方的参考链接,[sonarqube镜像]- 当宿主机的内存比较小的时候,在镜像文件中需要增加
sonar.search.javaOpts=-Xms256m -Xmx256m
参数,否则可能会出现 SonarQube Process exited with exit value [es]: 137 问题。
五、参考链接
sonarqube镜像 https://hub.docker.com/_/sonarqube
sonarqube官网 https://docs.sonarqube.org/latest/setup/install-server/
基于docker-compose搭建sonarqube代码质量检测平台的更多相关文章
- Docker 搭建代码质量检测平台 SonarQube
开始搭建 1.获取 postgresql 的镜像 $ docker pull postgres 2.启动 postgresql $ docker run --name db -e POSTGRES_U ...
- 基于Docker Compose搭建mysql主从复制(1主2从)
系统环境 * 3 Ubuntu 16.04 mysql 8.0.12 docker 18.06.1-ce docker-compose 1.23.0-rc3 *3 ==> PS ###我用的是 ...
- 代码质量检测(SonarQube)整合中文版+阿里P3C
代码质量检测(SonarQube)整合中文版+阿里P3C 简介 SonarQube是一种自动代码审查工具,用于检测代码中的错误,漏洞和代码异味.它可以与您现有的工作流程集成,以便在项目分支和拉取请求之 ...
- Docker Compose 搭建 Redis Cluster 集群环境
在前文<Docker 搭建 Redis Cluster 集群环境>中我已经教过大家如何搭建了,本文使用 Docker Compose 再带大家搭建一遍,其目的主要是为了让大家感受 Dock ...
- Istio入门实战与架构原理——使用Docker Compose搭建Service Mesh
本文将介绍如何使用Docker Compose搭建Istio.Istio号称支持多种平台(不仅仅Kubernetes).然而,官网上非基于Kubernetes的教程仿佛不是亲儿子,写得非常随便,不仅缺 ...
- 利用 Docker Compose 搭建 SpringBoot 运行环境(超详细步骤和分析)
0.前言 相信点进来看这篇文章的同学们已经对 Docker Dompose 有一定的了解了,下面,我们拿最简单的例子来介绍如何使用 Docker Compose 来管理项目. 本文例子: 一个应用服务 ...
- 使用Docker Compose搭建Service Mesh
使用Docker Compose搭建Service Mesh 本文将介绍如何使用Docker Compose搭建Istio.Istio号称支持多种平台(不仅仅Kubernetes).然而,官网上非基于 ...
- 基于Docker Compose的.NET Core微服务持续发布
是不是现在每个团队都需要上K8s才够潮流,不用K8s是不是就落伍了.今天,我就通过这篇文章来回答一下. 一.先给出我的看法和建议 我想说的是,对于很多的微小团队来说,可能都不是一定要上K8s,毕竟上K ...
- 代码质量检测-Sonar
一. Sonar简介 sonarqube系统是一个代码质量检测工具 由以下四个组件组成(https://docs.sonarqube.org/display/SONAR/Architecture+an ...
随机推荐
- Linux proc文件系统小记
序言: 当linux系统存在多个网口时(也可以是一个网口配置两个IP),每个网口配置不同的IP地址,并且分别连接到不同的电脑上,电脑分别配置与相连的网口统一网段的IP且将电脑网关设置为linux的网口 ...
- PreparedStatement预编译的sql执行对象
一.预编译,防sql注入 其中,设置参数值占位符索引从1开始:在由sql 连接对象创建 sql执行对象时候传入参数sql语句,在执行对象在执行方法时候就不用再传入sql语句: 数据库索引一般是从1开始 ...
- k8s架构与组件详解
没有那么多花里胡哨,直接进行一个K8s架构与组件的学习. 一.K8s架构 k8s系统在设计是遵循c-s架构的,也就是我们图中apiserver与其余组件的交互.在生产中通常会有多个Master以实现K ...
- io流-文件流\节点流
FileOutputStream类(jdk1.0) 描述 java.io.FileOutputStream 类是文件字节输出流,用于将数据写入到文件中. 构造方法 //构造方法 FileOutputS ...
- POJ1741——Tree(树的点分治)
1 /* *********************************************** 2 Author :kuangbin 3 Created Time :2013-11-17 1 ...
- 垃圾分类app--NABCD--团队项目需求与分析
我们的产品是--智能垃圾分类APP,它的设计灵感的来自于"可持续化发展战略,走绿色发展道路",众所周知,垃圾是放错了地方的资源,因此我们团队为了响应国家"垃圾分类&quo ...
- Shell系列(6)- 管道符
多命令顺序执行 多命令执行符 格式 作用 ; 命令1 ; 命令2 连接命令:多个命令顺序执行,命令之间没有任何逻辑联系:前面命令报错,后面命令照常执行 && 命令1 && ...
- SonarQube安装Java扫描插件
近段时间在研究sonarqube,成功扫描python项目,但是扫描java项目失败. 在网上查询到,扫描java项目需要安装Java插件. 如下图: 而我在最新的sonarqube中搜索java,没 ...
- HTML 网页开发、CSS 基础语法——四. HTML基本语法
1. HTML规范和HTML标签 W3C:world wide web consortium,万维网联盟.专门发布和维护互联网的规范和标准. 2. HTML标签 HTML 标记通常被称为 HTML 标 ...
- P3308-[SDOI2014]LIS【最小割】
正题 题目链接:https://www.luogu.com.cn/problem/P3308 题目大意 三个\(n\)个数字的序列\(A,B,C\).要求删除其中某些位置\(i\)使得\(A\)的最长 ...