1、安装
sonar7.8以后不再支持mysql
- 环境准备
由于SonarQube使用嵌入式Elasticsearch,因此请确保您的Docker主机配置符合Elasticsearch生产模式,以root用户身份运行以下命令来设置当前会话的建议值:
# 修改系统最大连接数
sysctl -w vm.max_map_count=262144
# 修改系统所有进程一共可以打开的文件数量
sysctl -w fs.file-max=65536
# 设置能打开的最大文件描述符数
ulimit -n 65536
# 设置限制最大用户进程数
ulimit -u 4096
- docker-compose.yml文件
version: '3.7'
services:postgres:restart: alwaysimage: postgrescontainer_name: postgresports:- 5432:5432environment:TZ: Asia/ShanghaiPOSTGRES_USER: sonarPOSTGRES_PASSWORD: sonarPOSTGRES_DB: sonarvolumes:- /opt/docker_volumes/postgres/data:/home/data/- /opt/docker_volumes/postgres/postgresql:/var/lib/postgresqlsonarqube:restart: alwaysimage: sonarqubecontainer_name: sonarqubeports:- 9000:9000depends_on:- postgrescommand:- -Dsonar.ce.javaOpts=-Xmx512m- -Dsonar.web.javaOpts=-Xmx512mvolumes:- /opt/docker_volumes/sonarqube/elasticsearch/config:/opt/sonarqube/elasticsearch/config- /opt/docker_volumes/sonarqube/elasticsearch/config/elasticsearch.yml:/opt/sonarqube/elasticsearch/config/elasticsearch.yml- /opt/docker_volumes/sonarqube/conf:/opt/sonarqube/conf- /opt/docker_volumes/sonarqube/data:/opt/sonarqube/data- /opt/docker_volumes/sonarqube/logs:/opt/sonarqube/logs- /opt/docker_volumes/sonarqube/extensions:/opt/sonarqube/extensions# 设置和宿主机时区、时间一致- /etc/localtime:/etc/localtime:roenvironment:SONARQUBE_JDBC_USERNAME: sonarSONARQUBE_JDBC_PASSWORD: sonarSONARQUBE_JDBC_URL: jdbc:postgresql://postgres:5432/sonar
启动数据库可能会有警告:
WARNING: IPv4 forwarding is disabled. Networking will not work.
是因为IPv4的路由转发没开
解决:
# 在宿主机上执行
echo "net.ipv4.ip_forward=1" >>/usr/lib/sysctl.d/00-system.conf
# 重启network和docker服务
systemctl restart network && systemctl restart docker
配置
- cp过来配置文件
docker cp f0:/opt/sonarqube/conf/wrapper.conf /opt/docker_volumes/sonarqube/conf/wrapper.conf
docker cp f0:/opt/sonarqube/conf/sonar.properties /opt/docker_volumes/sonarqube/conf/sonar.properties
docker cp f0:/opt/sonarqube/elasticsearch/config/elasticsearch.yml/opt/sonarqube/elasticsearch/config/elasticsearch.yml
- 修改映射过来的elasticsearch.yml配置文件
node.name: node-1
cluster.initial_master_nodes: ["node-1"]
network.host: 0.0.0.0
- 开启登录访问权限
上方菜单栏配置-左侧菜单栏权限 开启强制用户认证
- 安装简体中文包
Administration(配置) – Marketplcae(应用市场) –搜索
Chinese Pack
并Restart
- 更新插件
切记:更新和安装时不要关闭浏览器和重启SonarQube,否则会导致无法启动SonarQube