基于docker-compose搭建sonarqube代码质量检测平台
2023-02-18 16:28:03 时间
一、需求
在我们开发的过程中,难免有时候代码写的不规范,或存在一些静态的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/
相关文章
- [Memcache] memcache中add和set方法的区别
- [Redis] redis业务实践 , 这次用哈希
- [PHP] PHPMailer发信失败,用这种方式找原因
- [PHP] fastcgi_split_path_info与传递PATH_INFO
- [PHP] 设计一个可扩展的用户登陆系统
- [OAuth] OAuth2.0中的客户端模式
- [PHP] PHP5中的写时复制change on write
- [PHP] 使用PHP迭代表示二叉树的查找
- [PHP]利用PHP的引用生成树的结构
- [PHP] PHP7以上版本的引用计数不同的困惑
- [MySQL]ANALYZE TABLE 更新索引基数
- [Docker] 使用docker inspect查看宿主机与容器的共享目录
- [MySQL] 理解InnoDB并发高的原因
- [HTTP]HTTP/1.1 协议Expect: 100-continue
- [MySQL]mysql binlog回滚数据
- [PHP]PHP中申明 declare(strict_types=1)的作用
- Redis持久化: RDB&AOF
- [PHP] php作为websocket的客户端实时读取推送日志文件
- [MySQL] in 子查询出现DEPENDENT SUBQUERY问题
- [MySQL] 导入数据时防止出现乱码