SonarQube简介
SonarQube 是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量。 通过插件形式,可以支持众多计算机语言,比如 java, C#, go,C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等。sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具来检测你的代码,帮助你发现代码的漏洞,Bug,异味等信息。
Sonar 不仅提供了对 IDE 的支持,可以在 Eclipse和 IntelliJ IDEA 这些工具里联机查看结果;同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。
安装SonarQube
- pull docker 镜像
docker pull postgres
docker pull sonarqube - 编写docker-composer.yml文件
#author menard
version: '2'
services:
####################postgresql################
postgres:
image: "postgres"
hostname: postgres
#container_name定义容器名
container_name: postgres
#volumes定义挂载目录
volumes:
- /wdata/server/sonarqube/postgresql_data/:/var/lib/postgresql/data/
#随容器服务启动而启动
restart: always
environment:
- TZ=Asia/Shanghai
- POSTGRES_USER=sonar
- POSTGRES_PASSWORD=sonar
####################sonarqube################
sonarqube:
image: "sonarqube"
hostname: sonarqube
#container_name定义容器名
container_name: sonarqube
#随容器服务启动而启动
restart: always
links:
- postgres
ports:
- '9000:9000'
#volumes定义挂载目录
volumes:
- /wdata/server/sonarqube/conf/:/opt/sonarqube/conf/
- /wdata/server/sonarqube/data/:/opt/sonarqube/data/
- /wdata/server/sonarqube/extensions/:/opt/sonarqube/extensions/
#时区设置
environment:
- TZ=Asia/Shanghai
- ES_JAVA_OPTS="-Xms1g -Xmx1g"
- SONARQUBE_JDBC_URL=jdbc:postgresql://postgres:5432/sonar
- SONARQUBE_JDBC_USERNAME=sonar
- SONARQUBE_JDBC_PASSWORD=sonar
- 修改权限chown -R 999:999 /wdata/server/sonarqube/
- 第一次启动的时候报了如下错误
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
- 解决方法
在/etc/sysctl.conf文件最后添加一行vm.max_map_count=262144
执行sysctl -w vm.max_map_count=262144
修改docker-composer.yml文件,在sonarqube容器里增加- ES_JAVA_OPTS="-Xms1g -Xmx1g"再重新启动 - 启动容器docker-composer up -d
- 浏览器输入ip:9000访问。
- 输入用户名和密码admin登录sonarqube
- 汉化,点击市场,搜索Chinese,找到汉化包,安装后重启就行了。