• Docker-compose部署SonarQube服务


    SonarQube使用介绍

    SonarQube 是一个开源的代码分析平台, 用来持续分析和评测项目源代码的质量。 通过SonarQube我们可以检测出项目中重复代码, 潜在bug, 代码规范,安全性漏洞等问题, 并通过SonarQube web UI展示出来。

    SonarQube由服务器、数据库、扫描仪和插件4部分组成。

    部署SonarQube

    sysctl设置

    echo "vm.max_map_count=262144" >> /etc/sysctl.conf
    
    sysctl -p
    
    • 1
    • 2
    • 3

    创建docker-compose.yml

    创建一个sonar的文件夹,在文件夹下面创建docker-compose.yml文件
    这里有个版本的坑要注意一下:

    sonarqube:7.8-community 是 sonar 对 jdk1.8 的最后一个版本,从 7.9 以后 sonar 最低支持版本为 jdk 1.11

    如果你环境是jdk1.8的话 你一定要选这个版本。

    version: '3'
    services: 
      postgres: 
        image: nanlist/postgres12.3:v1
        restart: always
        container_name: sonarqube_postgres
        ports:
          - 5432:5432
        volumes:
          # 设置与宿主机时间同步
          - /etc/localtime:/etc/localtime:ro
        environment:
          TZ: Asia/Shanghai    
          POSTGRES_USER: sonar   
          POSTGRES_PASSWORD: sonar
          POSTGRES_DB: sonar
        networks: 
          - sonar-network
      sonar:
        image: nanlist/sonarqube7.8-community:v1
        restart: always 
        container_name: sonarqube
        depends_on:
          - postgres
        volumes:
          # 设置与宿主机时间同步
          - /etc/localtime:/etc/localtime:ro      
        ports:
          - 9000:9000
        environment:
          SONARQUBE_JDBC_USERNAME: sonar
          SONARQUBE_JDBC_PASSWORD: sonar
          SONARQUBE_JDBC_URL: jdbc:postgresql://postgres:5432/sonar
        networks: 
          - sonar-network
    networks:
      sonar-network:
        driver: bridge
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

    在这里插入图片描述

    启动容器

    启动:docker-compose up -d
    停止:docker-compose down
    启动:docker-compose start
    停止:docker-compose stop
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    访问

    页面初始化需要一段时间
    浏览器访问:ip+端口,如:10.10.11.79:9000
    管理员账号密码都是:admin
    在这里插入图片描述

    安装中文汉化插件

    搜索chinese
    在这里插入图片描述

    如果下载失败选择手动下载:

    cd /home/sonar 下面

    这一步也得找对应的版本(好坑的)
    在这里插入图片描述
    下载jar包:

    wget https://github.com/xuhuisheng/sonar-l10n-zh/releases/download/sonar-l10n-zh-plugin-1.28/sonar-l10n-zh-plugin-1.28.jar
    
    • 1

    通过docker cp 把jar包上传到sonar容器中

    docker cp sonar-l10n-zh-plugin-1.28.jar  sonarqube:/opt/sonarqube/extensions/plugins/
    
    • 1

    检查是否拷贝成功

    docker exec -it sonarqube bash
    ls /opt/sonarqube/extensions/plugins/
    
    • 1
    • 2

    在这里插入图片描述

    docker重启sonarqube

    退出容器,重新启动一下:

    docker restart sonarqube
    
    • 1

    在这里插入图片描述
    SonarQube 需要数据库的支持,用于存储检测项目后的分析数据,同时为了实现可持续监测,还需要持续集成工具(如Jenkins)的支持,在构建版本前,通过Jenkins+Sonar 插件执行项目分析指令,最终的结果会通过SonarQube 服务器的Web 页面展示。

  • 相关阅读:
    【半监督光谱退化约束网络:Spectral Super-Resolution】
    电脑重装系统后鼠标动不了该怎么解决
    jenkins工具系列 —— 插件 使用Changelog获取commit记录
    数字化转型的失败原因及成功之道
    ZTE MC8020 5G Indoor CPE Review
    【C++干货铺】list的使用 | 模拟实现
    案例研究|众乐邦将MeterSphere持续测试平台融入DevOps流水线
    Web:前端常用的几种Http请求GET和POST样例
    生成Release版本的.pdb文件
    【Keras】AveragePooling1D层和GlobalAveragePooling1D层
  • 原文地址:https://blog.csdn.net/u010797364/article/details/126664626