Docker部署sonarqube(代码检测平台)
简介
Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。 此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持
工作原理
SonarQube 并不是简单地将各种质量检测工具的结果(例如 FindBugs,PMD 等)直接展现给客户,而是通过不同的插件算法来对这些结果进行再加工,最终以量化的方式来衡量代码质量,从而方便地对不同规模和种类的工程进行相应的代码质量管理。 SonarQube 在进行代码质量管理时,会从图 1 所示的七个纬度来分析项目的质量
[root@cnpmjs sonarqube]# vim docker-compose.yaml
version: '3'
services:
postgres:
image: postgres:9.6.15
container_name: sonar_postgres
ports:
- 5432:5432
volumes:
- /opt/sonarqube/postgresql:/var/lib/postgresql
environment:
TZ: Asia/Shanghai
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar@123
networks:
- sonarnet
logging:
driver: "json-file"
options:
max-size: "200k"
max-file: "10"
sonar:
image: sonarqube:7.9.1-community
container_name: sonar
depends_on:
- postgres
volumes:
- /opt/sonarqube/extensions:/opt/sonarqube/extensions
- /opt/sonarqube/logs:/opt/sonarqube/logs
- /opt/sonarqube/data:/opt/sonarqube/data
- /opt/sonarqube/conf:/opt/sonarqube/conf
ports:
- 9000:9000
environment:
TZ: Asia/Shanghai
SONARQUBE_JDBC_USERNAME: sonar
SONARQUBE_JDBC_PASSWORD: sonar@123
SONARQUBE_JDBC_URL: jdbc:postgresql://postgres:5432/sonar
networks:
- sonarnet
logging:
driver: "json-file"
options:
max-size: "200k"
max-file: "10"
networks:
sonarnet:
driver: bridge
[root@cnpmjs sonarqube]# docker-compose up -d
[root@cnpmjs sonarqube]# docker ps|grep sonarqube
97be3b428d1f sonarqube:7.9.1-community "./bin/run.sh" 2 months ago Up 2 months 0.0.0.0:9000->9000/tcp sonar
[root@cnpmjs sonarqube]# docker ps|grep postgres
e77a94b37b41 postgres:9.6.15 "docker-entrypoint.s…" 2 months ago Up 2 months 0.0.0.0:5432->5432/tcp sonar_postgres
本文链接:
/archives/docker%E9%83%A8%E7%BD%B2sonarqube%E4%BB%A3%E7%A0%81%E6%A3%80%E6%B5%8B%E5%B9%B3%E5%8F%B0
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
爱吃可爱多!
喜欢就支持一下吧
打赏
微信
支付宝