docker搭建sonar

一、搭建

1.搭建postgresql数据库

docker run -d -p 5432:5432 --name postgresql -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar postgres

2.搭建sonar镜像:

重新构建sonar镜像,下载汉化包,Dockerfile如下(也可以添加其他插件):
下载汉化包地址:https://github.com/xuhuisheng/sonar-l10n-zh/releases

FROM sonarqube
ADD sonar-l10n-zh-plugin-8.6.jar /opt/sonarqube/extensions/plugins/
docker build -t sonarqube:zh_CN .

3.搭建sonar容器

docker run -d -p 9000:9000 --name sonar --link postgresql:postgresql -e SONAR_JDBC_USERNAME=sonar -e SONAR_JDBC_PASSWORD=sonar -e SONARQUBE_JDBC_URL=jdbc:postgresql://postgresql:5432/sonar sonarqube:zh_CN

报错:

[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ERROR: Elasticsearch did not exit normally - check the logs at /opt/sonarqube/logs/sonarqube.log

解决:

sudo vim /etc/sysctl.conf
vm.max_map_count=655360

保存之后:

sysctl -p

重启容器:

docker restart sonar

访问:http://localhost:9000/
默认密码:admin,admin
在这里插入图片描述

二、使用

pom.yml添加sonar插件

   <build>
       <plugins>
           <plugin>
               <groupId>org.sonarsource.scanner.maven</groupId>
               <artifactId>sonar-maven-plugin</artifactId>
           </plugin>
       </plugins>
   </build>

sonar配置https://blog.51cto.com/9025736/2061964
执行mvn clean install,然后再执行mvn sonar:sonar,看到如下信息即可
在这里插入图片描述

注意:此时会有一个问题,代码覆盖率为0.0%,添加如下

  <build>
      <plugins>
          <plugin>
              <groupId>org.sonarsource.scanner.maven</groupId>
              <artifactId>sonar-maven-plugin</artifactId>
          </plugin>
          <plugin>
              <groupId>org.jacoco</groupId>
              <artifactId>jacoco-maven-plugin</artifactId>
              <configuration>
                  <includes>com.*</includes>
              </configuration>
              <executions>
                  <execution>
                      <goals>
                          <goal>prepare-agent</goal>
                          <goal>report</goal>
                      </goals>
                  </execution>
              </executions>
          </plugin>
      </plugins>
  </build>

流水线脚本添加:

- mvn sonar:sonar -Dsonar.host.url=http://192.168.10.32:9000 -Dsonar.login=634afcadd0a0f5bc6b58569b740c398ccb54b905
  1. npm集成sonar
npm install -g sonarqube-scanner

var gulp = require('gulp');
var sonarqubeScanner = require('sonarqube-scanner');
 
gulp.task('default', function(callback) {
  sonarqubeScanner({
    serverUrl : "https://sonarcloud.io",
    token : "019d1e2e04eefdcd0caee1468f39a45e69d33d3f",
    options : {
      "sonar.organization": "my-org"
    }
  }, callback);
});
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值