专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

使用Docker搭建Sonar工程质量管理平台

关于Docker的基础知识详见下面几篇文章

Docker及图形化管理UI Portainer的搭建

Dockerfile的使用以及使用Maven工程TCP构建远程镜像

利用Docker实现后台项目模板化配置部署

一、什么是Sonar?

Sonar是一个用于代码质量管理的开源平台,用于管理代码的质量,通过插件形式可以支持二十几种语言的代码质量检测,通过多个维度的检查了快速定位代码中潜在的或者明显的错误。

二、使用Docker搭建Sonar平台

(1)搜索搭建Sonar必要的Docker镜像

Sonar需要数据库的支持,这里我们采用的是Postgres数据库,所以我们需要下载SonarPostgres的Docker镜像

104_1.png

(2)使用Docker搭建Postgres数据库

  • 首先我们需要给数据库分配一个磁盘空间,这里我们创建一个虚拟磁盘用作数据库存储的空间

104_2.png

  • 使用Postgres Docker镜像一句话搭建Postgres数据库
docker run --name postgresql -p 5432:5432 -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -e POSTGRE_DB=sonar -v postgres_volume:/var/lib/postgresql/data -d postgres

  • 容器启动完成之后使用IDEA数据库插件检测是否搭建完成

104_3.png

(3)使用Docker搭建Sonar,并且关联Postgres数据库

  • 我们可以把一些Sonar常用的磁盘目录挂载出来,例如Sonar的/opt/sonarqube/data和/opt/sonarqube/extensions,所以我们这里还是一样,新建2个虚拟磁盘

104_4.png

  • 使用Docker镜像一句话关联Postgres数据库以及挂载虚拟磁盘
docker run --name sonarqube --link postgresql -e SONARQUBE_JDBC_URL=jdbc:postgresql://postgresql:5432/sonar -p 9001:9000 -d -v sonar_data:/opt/sonarqube/data -v sonar_extensions:/opt/sonarqube/extensions sonarqube

  • 配置nginx,启动域名访问
user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    server {
        listen 80;
        server_name docker.xyz.cn;
        location / {
            proxy_pass http://192.168.27.180:9000;
        }
    }

    server {
        listen 80;
        server_name filebrowser.xyz.cn;
        location / {
            proxy_pass http://192.168.27.180:3000;
        }
    }

    server {
        listen 80;
        server_name sonar.xyz.cn;
        location / {
            proxy_pass http://192.168.27.180:9001;
        }
    }
}

  • 待容器启动完成之后,即可通过sonar.xyz.cn访问Sonar

104_5.png

三、Sonar的汉化

很简单,目前版本的Sonar已经有对应插件支持,配置-应用市场直接搜索Chinese Pack即可

104_6.png

文章永久链接:https://tech.souyunku.com/44763

未经允许不得转载:搜云库技术团队 » 使用Docker搭建Sonar工程质量管理平台

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们