
【摘要】基于Docker部署SonarQube及中文汉化。

一、前言
SonarQube是一种自动代码审查工具,可检测代码中的错误,漏洞和代码味道。它可以与您现有的工作流程集成,以实现跨项目分支和提取请求的连续代码检查。目前 支持java, Python, C#, PHP,PL/SQL,Cobol,JavaScrip,Groovy等二十几种编程语言的代码质量管理与检测。

docker pull postgres:14.3docker pull sonarqube:9.4.0-community
注:这里我们采用SonarQube9.4版本,所以需要Postgres支持,因为SonarQube7.9以上不支持Mysql了。

3.1 制作docker-compose-sonarqube.yml,内容如下:
version: '3.7'services:postgres:image: postgres:14.3container_name: bdyh-postgresrestart: alwaysenvironment:#创建sonarqube所需数据库并授权POSTGRES_DB: sonarPOSTGRES_USER: rootPOSTGRES_PASSWORD: xiaohezi@2021TZ: Asia/Shanghaivolumes:- /data/postgres/conf/postgresql.conf:/etc/postgresql/postgresql.conf- /data/postgres/data:/var/lib/postgresql/dataports:- "5432:5432"networks:- pk_netsonarqube:image: sonarqube:9.4.0-communitycontainer_name: bdyh-sonarquberestart: alwaysdepends_on:- postgresenvironment:TZ: Asia/Shanghai#sonarqube连接postgresql配置SONARQUBE_JDBC_USERNAME: rootSONARQUBE_JDBC_PASSWORD: xiaohezi@2021SONARQUBE_JDBC_URL: jdbc:postgresql://bdyh-postgres:5432/sonarvolumes:#持久化存储sonarqube插件,日志,数据,配置- /data/sonarqube/extensions:/opt/sonarqube/extensions- /data/sonarqube/logs:/opt/sonarqube/logs- /data/sonarqube/data:/opt/sonarqube/data- /data/sonarqube/conf:/opt/sonarqube/confports:- "9000:9000"networks:- pk_netnetworks:pk_net:external: true
3.2 自定义网络
#预先创建一个自定义的网络pk_net,此处的10.139可以自定义,不冲突即可sudo docker network create --driver bridge --subnet 10.139.0.0/16 --gateway 10.139.0.1 pk_net
创建成功后如下如所示:

3.3 设置es相关的配置
由于SonarQube里集成了Elasticsearch,所以需要设置es相关的配置,在宿主机配置即可,如下:
#修改/etc/security/limits.conf文件中的参数sed -i '$a * soft nofile 65536' etc/security/limits.confsed -i '$a * hard nofile 131072' etc/security/limits.confsed -i '$a * soft nproc 2048' etc/security/limits.confsed -i '$a * hard nproc 4096' etc/security/limits.conf#修改/etc/sysctl.conf文件中的参数sed -i '$a vm.max_map_count=655360' etc/sysctl.confsysctl -p
3.4 启动
docker-compose -p sonarqube -f ./docker-compose-sonarqube.yml up -d
如下所示:


四、登录web页面(验证)
浏览器访问:ip+端口,如:192.168.4.12:9000
管理员账号密码都是:admin

修改密码:

看见如下页面即部署成功:


五、汉化
5.1 手动下载SonarQube 中文包
https://github.com/xuhuisheng/sonar-l10n-zh
注意:对照自己的SonarQube版本,下载对应的汉化包。
/data/sonarqube/extensions/downloads

5.2 重启
docker restart bdyh-sonarqube
或者通过界面重启,如下:


文章转载自架构至美,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




