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
即可永久修改