SonarQube实战:部署(一)

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 基于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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
3月前
|
Java 关系型数据库 MySQL
SonarQube——如何搭建SonarQube完整版
SonarQube——如何搭建SonarQube完整版
44 0
SonarQube——如何搭建SonarQube完整版
|
3月前
|
jenkins Java 关系型数据库
jenkins学习笔记之十二:sonarqube9.9、SonarScanner4.8部署
jenkins学习笔记之十二:sonarqube9.9、SonarScanner4.8部署
|
jenkins Java 应用服务中间件
【CI/CD技术专题】「Jenkins实战系列」总结归纳Jenkins的安装使用和配置流程介绍
【CI/CD技术专题】「Jenkins实战系列」总结归纳Jenkins的安装使用和配置流程介绍
365 0
【CI/CD技术专题】「Jenkins实战系列」总结归纳Jenkins的安装使用和配置流程介绍
【Sonarqube】初体验
【Sonarqube】初体验
121 0
|
jenkins Java 关系型数据库
jenkins持续集成从0入门到实战【八】集成sonarqube代码检测
SonarQube是一个用于管理代码质量的开放平台,可以快速的定位代码中潜在的或者明显的错误。目前支持java,C#,C/C++,Python,PL/SQL,Cobol,JavaScrip,Groovy等二十几种编程语言的代码质量管理与检 测。
395 1
jenkins持续集成从0入门到实战【八】集成sonarqube代码检测
|
安全 Java Maven
SonarQube最佳实践
SonarQube最佳实践
664 0
|
存储 安全 jenkins
jenkins持续集成从0入门到实战【一】Jenkins安装
Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成。它是一个用java编写的开源持续集成工具。
374 0
jenkins持续集成从0入门到实战【一】Jenkins安装
|
jenkins Devops 测试技术
Jenkins + Gitlab + Sonarqube 集成初体验
Jenkins + Gitlab + Sonarqube 集成初体验
338 0
Jenkins + Gitlab + Sonarqube 集成初体验
|
安全 Oracle 关系型数据库
SonarQube搭建手记
这篇文章记录的是SonarQube服务搭建的详细过程,应用于云迁移后的PipleLine的代码扫描环节。
532 0
SonarQube搭建手记
|
Java jenkins 数据库连接
手把手教你搭建Jenkins实现自动化部署Jar(下)
手把手教你搭建Jenkins实现自动化部署Jar(下)
744 0
手把手教你搭建Jenkins实现自动化部署Jar(下)
下一篇
无影云桌面