• docker部署sonarqube8.3.1版本


    部署方式一:修改最大内存区域

    直接起容器报错:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
    #修改宿主机的环境变量
    sudo vi /etc/sysctl.conf
    vm.max_map_count=655360
    sudo sysctl -p
    
    #启动postgres容器
    docker run --name pgdb -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -p 5433:5432 -v /data/postgresql/data:/var/lib/postgresql/data -d postgres
    
    
    docker run --name sq --link pgdb -e SONARQUBE_JDBC_USERNAME=sonar -e SONARQUBE_JDBC_PASSWORD=sonar -e SONARQUBE_JDBC_URL=jdbc:postgresql://pgdb:5432/sonar -p 19000:9000 -v /data/sonarqube/data:/opt/sonarqube/data -v /data/sonarqube/extensions:/opt/sonarqube/extensions -v /data/sonarqube/logs:/opt/sonarqube/logs -d sonarqube:8.3.1-community

    问题解决:https://github.com/SonarSource/docker-sonarqube/issues/282

    注:max_map_count文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量。虚拟内存区域是一个连续的虚拟地址空间区域。在进程的生命周期中,每当程序尝试在内存中映射文件,链接到共享内存段,或者分配堆空间的时候,这些区域将被创建。调优这个值将限制进程可拥有VMA的数量。限制一个进程拥有VMA的总数可能导致应用程序出错,因为当进程达到了VMA上线但又只能释放少量的内存给其他的内核进程使用时,操作系统会抛出内存不足的错误。如果你的操作系统在NORMAL区域仅占用少量的内存,那么调低这个值可以帮助释放内存给内核用。

     

    部署方式二:禁用es

    docker run --name pgdb --restart always -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -p 5433:5432 -v /data/postgresql/data:/var/lib/postgresql/data -d postgres
    
    
    
    docker run --name sonarqube  --restart always --link pgdb -e SONARQUBE_JDBC_USERNAME=sonar -e SONARQUBE_JDBC_PASSWORD=sonar -e SONARQUBE_JDBC_URL=jdbc:postgresql://pgdb:5432/sonar -Dsonar.search.javaAdditionalOpts=-Dnode.store.allow_mmapfs=false -p 19000:9000 -v /data/sonarqube/data:/opt/sonarqube/data -v /data/sonarqube/extensions:/opt/sonarqube/extensions -v /data/sonarqube/logs:/opt/sonarqube/logs -d sonarqube:8.3.1-community

    注:添加-Dnode.store.allow_mmapfs=falsesonar.search.javaAdditionalOpts,您将无法使用nmap运行ES。

    问题解决摘自:https://community.sonarsource.com/t/unable-to-disable-mmapfs-use-in-elasticsearch/11413

    配置文件内容

    sonar.login=admin
    sonar.password=admin
    sonar.jdbc.url=jdbc:mysql://10.0.0.7:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
    sonar.web.javaOpts=-server

    启动sonarqueb的docker容器

    安装插件

    插件地址:https://binaries.sonarsource.com/

    插件地址:https://github.com/

    介绍:这里我们演示直接在sonarqube安装也会说明把插件安装到目录下(网络不好,插件直接下载不下来)。

    8.3.1版本的插件总表:https://docs.sonarqube.org/latest/instance-administration/plugin-version-matrix/

    方式一:上传目录

    官方插件下载地址:https://binaries.sonarsource.com/Distribution/

    8.3.1版本官方文档下载插件:https://docs.sonarqube.org/latest/analysis/languages/csharp/

    默认安装插件位置:/opt/sonarqube/extensions/plugins。(docker 8.3.1版本目录地址 ,后期可以进入docker容器进行find / -name "plugins"查找)这里需要注意sonarqube版本的不同中文插件的安装也会不同,中文插件地址

    中文插件版本:

     中文包插件安装:

    wget https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/download/sonar-l10n-zh-plugin-8.3/sonar-l10n-zh-plugin-8.3.jar
    docker cp   sonar-l10n-zh-plugin-8.3.jar  sq:/opt/sonarqube/extensions/plugins/

    java插件安装:

    wget https://binaries.sonarsource.com/Distribution/sonar-java-plugin/sonar-java-plugin-6.3.0.21585.jar
    docker cp sonar-java-plugin/sonar-java-plugin-6.3.0.21585.jar sq:/opt/sonarqube/extensions/plugins/

    python插件安装:

    wget https://binaries.sonarsource.com/Distribution/sonar-python-plugin/sonar-python-plugin-2.9.0.6410.jar
    docker cp sonar-python-plugin-2.9.0.6410.jar  sq:/opt/sonarqube/extensions/plugins/

    C++插件安装:

    c++插件安装地址:https://github.com/SonarOpenCommunity/sonar-cxx/releases (请先查看兼容表)

    wget https://binaries.sonarsource.com/CommercialDistribution/sonar-cfamily-plugin/sonar-cfamily-plugin-6.9.0.17076.jar
    docker cp sonar-cfamily-plugin-6.9.0.17076.jar  sq:/opt/sonarqube/extensions/plugins/

    js插件安装:

    官方文档:用于JavaScript 用于TypeScript

    注:js插件需要安装两个,只安装一个js插件会导致插件不兼容,容器起不来或者服务起不来。

     

    wget https://binaries.sonarsource.com/Distribution/sonar-typescript-plugin/sonar-typescript-plugin-2.1.0.4359.jar
    docker cp sonar-typescript-plugin-2.1.0.4359.jar sq:/opt/sonarqube/extensions/plugins/
    
    
    wget https://binaries.sonarsource.com/Distribution/sonar-javascript-plugin/sonar-javascript-plugin-6.2.1.12157.jar
    docker cp sonar-javascript-plugin-6.2.1.12157.jar sq:/opt/sonarqube/extensions/plugins/

    方式二:直接安装插件

     结语:安装插件的方式也就这两种,如果网络可以,直接安装,网络差可以选择直接上传到目录。

  • 相关阅读:
    [HNOI2014]江南乐
    烦人的数学作业(数位dp)
    http2.0请求springboot接口
    01背包动态规划
    坑点总结
    [机房测试] 堆石子
    [机房测试] 出租车
    [机房测试] 下棋
    [机房测试] number
    [CSP-S2019] 树的重心
  • 原文地址:https://www.cnblogs.com/Mercury-linux/p/13039850.html
Copyright © 2020-2023  润新知