SonarQube实战:部署(一)

转载自:https://mp.weixin.qq.com/s?__biz=Mzk0NzQwMzgxNQ==&mid=2247484453&idx=1&sn=61dd50fe8c3436d665fdbc79c64fd946&chksm=c376296df401a07baf3b9580688ef79a5adee0b6b5d1ff3c75f5482f098a6e7ed601d102fe2a&token=700693957&lang=zh_CN&scene=21#wechat_redirect

基于Docker部署SonarQube及中文汉化。

一、前言

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

二、拉取镜像

docker pull postgres:14.3
docker 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.139.0.1 pk_net

创建成功后如下如所示:

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

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

汉化后的界面,如下:

posted @ 2023-05-12 16:53  哈喽哈喽111111  阅读(73)  评论(0编辑  收藏  举报