SonarQube实战:部署(一)

本文涉及的产品
PolarDB Agent Express,2核4GB
云数据库 PolarDB MySQL 版,列存表分析加速 8核16GB
PolarSearch,搜索节点 4核8GB
简介: 基于Docker部署SonarQube及中文汉化。

【摘要】基于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了。


三、部署PgSQL和SonarQube


3.1 制作docker-compose-sonarqube.yml,内容如下:

version: '3.7'
services:
  postgres:
    image: postgres:14.3
    container_name: bdyh-postgres
    restart: always
    environment:
    #创建sonarqube所需数据库并授权
      POSTGRES_DB: sonar
      POSTGRES_USER: root
      POSTGRES_PASSWORD: xiaohezi@2021
      TZ: Asia/Shanghai
    volumes:
      - /data/postgres/conf/postgresql.conf:/etc/postgresql/postgresql.conf
      - /data/postgres/data:/var/lib/postgresql/data
    ports:
      - "5432:5432"
    networks:
      - pk_net
  sonarqube:
    image: sonarqube:9.4.0-community
    container_name: bdyh-sonarqube
    restart: always
    depends_on:
      - postgres
    environment:
      TZ: Asia/Shanghai
      #sonarqube连接postgresql配置
      SONARQUBE_JDBC_USERNAME: root
      SONARQUBE_JDBC_PASSWORD: xiaohezi@2021
      SONARQUBE_JDBC_URL: jdbc:postgresql://bdyh-postgres:5432/sonar
    volumes:
     #持久化存储sonarqube插件,日志,数据,配置
      - /data/sonarqube/extensions:/opt/sonarqube/extensions
      - /data/sonarqube/logs:/opt/sonarqube/logs
      - /data/sonarqube/data:/opt/sonarqube/data
      - /data/sonarqube/conf:/opt/sonarqube/conf
    ports:
      - "9000:9000"
    networks:
      - pk_net
networks:
  pk_net:
    external: true
图片 3.2 自定义网络
#预先创建一个自定义的网络pk_net,此处的10.139可以自定义,不冲突即可
sudo docker network create --driver bridge --subnet 10.139.0.0/16 --gateway 10.

3.3 设置es相关的配置


由于SonarQube里集成了Elasticsearch,所以需要设置es相关的配置,在宿主机配置即可,如下:

#修改/etc/security/limits.conf文件中的参数
sed -i '$a * soft nofile 65536'  /etc/security/limits.conf
sed -i '$a * hard nofile 131072'  /etc/security/limits.conf
sed -i '$a * soft nproc 2048'  /etc/security/limits.conf
sed -i '$a * hard nproc 4096'  /etc/security/limits.conf
#修改/etc/sysctl.conf文件中的参数
sed -i '$a vm.max_map_count=655360'  /etc/sysctl.conf
sysctl -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版本,下载对应的汉化包。


将下载好的sonar-l10n-zh-plugin-9.4.jar文件,放在以下路径:


/data/sonarqube/extensions/downloads



5.2 重启


docker restart bdyh-sonarqube

或者通过界面重启,如下:



汉化后的界面,如下:


相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
7月前
|
关系型数据库 数据库 数据安全/隐私保护
使用Docker和docker-compose部署SonarQube的流程
使用Docker和docker-compose部署SonarQube提供了一种快速启动并运行代码质量分析工具的方法。它易于管理,对系统的配置依赖小,而且可以很容易地进行微服务架构的整合。通过上述步骤,您可以确保一个SonarQube的稳定、可重复的部署流程,其可以轻松地搬移到其他环境,以实现开发、测试和生产的一致性。
693 13
|
SQL 安全 IDE
SonarQube使用介绍
SonarQube使用介绍
3706 0
SonarQube使用介绍
IDEA常用插件之代码扫描SonarLint
IDEA常用插件之代码扫描SonarLint
951 0
|
安全 前端开发 Devops
【devops】七、集成Sonar Qube(上)
【devops】七、集成Sonar Qube(上)
556 0
|
Java p3c
sonar入门:使用阿里规范扫描代码质量
sonar入门:使用阿里规范扫描代码质量
2985 0
sonar入门:使用阿里规范扫描代码质量
|
2月前
|
安全 关系型数据库 PostgreSQL
别让烂代码拖垮项目!Docker一键部署SonarQube,10分钟搞定代码质量检测
还在为代码里的隐藏bug、安全漏洞和越积越多的技术债头疼?本文教你用Docker快速部署SonarQube这款业界领先的代码质量检测工具,从环境准备到第一次代码扫描全程保姆级教学。支持30多种编程语言,能自动检测bug、安全漏洞、代码异味,还能生成可视化的质量报告,让你的团队告别"屎山",写出更健壮、更易维护的代码。
315 1
别让烂代码拖垮项目!Docker一键部署SonarQube,10分钟搞定代码质量检测
|
5月前
|
人工智能 安全 iOS开发
SonarQube Server 2025.6.1.117629 - 代码质量、安全与静态分析工具
SonarQube Server 2025 Release 6 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
333 4
SonarQube Server 2025.6.1.117629 - 代码质量、安全与静态分析工具
|
数据采集 存储 运维
DAMA数据管理知识体系指南(3):数据治理
DAMA:国际数据管理协会,是一个全球性数据管理和业务专业志愿人士组成的非营利协会,是当前国际上在数据治理领域最权威的机构。 DMBOK2则是DAMA组织众多数据管理领域的国际级资深专家编著,深入阐述数据管理各领域的完整知识体系。它是市场上唯一综合了数据管理方方面面的一部权威性著作。 本系列文章,将针对DMBOK中的核心内容进行解读。
DAMA数据管理知识体系指南(3):数据治理
|
11月前
|
敏捷开发 运维 项目管理
Jira低成本国产方案大揭秘:2025年最值得选择的国产替代产品
随着企业对成本控制和数据合规性需求的提升,Jira项目管理工具的高昂费用和本土化不足问题日益凸显。本文对比分析了2025年主流国产替代方案(飞书项目、板栗看板、Ones等)的核心功能与适用场景,指出国产工具在中文化支持、私有化部署和成本效益方面的优势,并提供了从Jira平稳迁移的实施建议。数据显示,国产替代方案可降低80%成本,同时满足敏捷开发需求,特别适合预算有限且重视数据安全的中小企业。选择时需综合考量功能匹配度、团队适配性和迁移成本等因素。
708 0
|
人工智能 安全 数据库
AiCodeAudit-基于Ai大模型的自动代码审计工具
本文介绍了基于OpenAI大模型的自动化代码安全审计工具AiCodeAudit,通过图结构构建项目依赖关系,提高代码审计准确性。文章涵盖概要、整体架构流程、技术名词解释及效果演示,详细说明了工具的工作原理和使用方法。未来,AI大模型有望成为代码审计的重要工具,助力软件安全。项目地址:[GitHub](https://github.com/xy200303/AiCodeAudit)。
5875 9