zoukankan      html  css  js  c++  java
  • Docker部署sonarqube代码质量检查

    地址规划:

    主机名 公网ip地址 服务
    lb01 10.0.0.5 sonarqube、docker、Jenkins
    web01 10.0.0.7 tomcat
    web02 10.0.0.8 tomcat

    部署sonarqube服务端

    安装docker

    sonarqube镜像地址:https://pan.baidu.com/s/1TBhj8gYvJy1eedL-95B0Hg 提取码:6ioq

    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    yum install docker -y
    systemctl start docker
    systemctl enable docker

    导入sonarqube镜像

    docker load -i docker_sonarqube_7.tar.gz
    docker load -i docker-mysql-5.7.tar.gz

    启动docker容器

    注:docker镜像里面已经安装了openjdk,sonarqube服务使用Denbian系统的镜像

    #启动数据库
    docker run --name mysql-sonar -e MYSQL_ROOT_PASSWORD=mysql -e MYSQL_DATABASE=sonar -e MYSQL_USER=sonar -e MYSQL_PASSWORD=sonar -v /data/mysql:/var/lib/mysql -p 33066:3306 -d mysql:5.7
    #启动sonarqube docker run
    -d --name sonarqube -p 9000:9000 -p 9092:9092 --link=mysql-sonar:mysql -e SONARQUBE_JDBC_USERNAME=sonar -e SONARQUBE_JDBC_PASSWORD=sonar -e SONARQUBE_JDBC_URL="jdbc:mysql://mysql:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false" sonarqube:7.0 #查看端口 netstat -lntup tcp6 0 0 :::9000 :::* LISTEN 36254/docker-proxy- tcp6 0 0 :::33066 :::* LISTEN 36114/docker-proxy-

    登录:10.0.0.5:9000

    注:默认用户 admin 默认密码 admin

    保存token:

    注:下面操作很重要,后期会使用

    7b4efa14d62b35ddf8906cb2a2f01699ba887732

    检查maven:

    mvn sonar:sonar 
      -Dsonar.host.url=http://10.0.0.5:9000 
      -Dsonar.login=7b4efa14d62b35ddf8906cb2a2f01699ba887732

    检查html:

    sonar-scanner 
      -Dsonar.projectKey=html 
      -Dsonar.sources=. 
      -Dsonar.host.url=http://10.0.0.5:9000 
      -Dsonar.login=7b4efa14d62b35ddf8906cb2a2f01699ba887732

    sonar汉化

    方式一:直接安装(网络慢会下载失败)

    方式二:下载插件安装

    兼容表查看:

    地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh

    旧版本下载地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/latest

    注:这里下载的是1.20版本,版本不兼容服务会起不来

    #下载jar
    https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/download/sonar-l10n-zh-plugin-1.20/sonar-l10n-zh-plugin-1.20.jar
    
    #jar包放入docker目录
    
    docker cp  sonar-l10n-zh-plugin-1.20.jar sonarqube:/opt/sonarqube/extensions/plugins/
    docker restart sonarqube
    #查看启动情况
    docker logs -f sonarqube
    
    #重新登录网页查看

    安装sonar-scaner扫描器

    安装jdk

    jdk下载地址:https://www.oracle.com/java/technologies/javase-jdk8-downloads.html

    yum localinstall jdk-8u241-linux-x64.rpm -y
    java -version

    安装扫描器

    sonar-scaner下载地址:https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/

    wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.3.0.2102.zip
    unzip sonar-scanner-cli-4.3.0.2102.zip
    mv sonar-scanner-4.3.0.2102 /usr/local/sonar-scanner
    ln -s /usr/local/sonar-scanner/bin/sonar-scanner /usr/bin/
    sonar-scanner

    扫描html项目代码

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

    cd /opt/yiliao/
    sonar-scanner 
      -Dsonar.projectKey=html 
      -Dsonar.sources=. 
      -Dsonar.host.url=http://10.0.0.5:9000 
      -Dsonar.login=7b4efa14d62b35ddf8906cb2a2f01699ba887732

    扫描结果:

    注:这里只检查了javascript的代码,因为没有安装检查html的插件

    下载html插件重新检查:

    #下载
    wget https://binaries.sonarsource.com/Distribution/sonar-html-plugin/sonar-html-plugin-3.2.0.2082.jar
    
    #导入容器内
    docker cp sonar-html-plugin-3.2.0.2082.jar  sonarqube:/opt/sonarqube/extensions/plugins/
    docker restart sonarqube
    docker logs -f sonarqube
    
    
    #重新检查
    sonar-scanner 
      -Dsonar.projectKey=html 
      -Dsonar.sources=. 
      -Dsonar.host.url=http://10.0.0.5:9000 
      -Dsonar.login=7b4efa14d62b35ddf8906cb2a2f01699ba887732

    在Jenkins安装sonarqube插件

    安装插件

    sonarqube服务端地址

    配置凭证:

    全局配置:

    sonar-scanner位置

    把sonarqube集成到job中

    全局配置jdk

    ## 找到jdk目录
    rpm -qpl jdk-8u241-linux-x64.rpm  | grep bin
    /usr/java/jdk1.8.0_241-amd64

    job配置参数

    sonar.projectKey=标识
    sonar.projectName=项目名
    sonar.projectVersion=1.0
    sonar.sources=.
    sonar.java.binaries=.
    sonar.sourceEncoding=UTF-8
    sonar.language=java

    官方参数文档:https://docs.sonarqube.org/latest/analysis/analysis-parameters/

    job进行项目构建

  • 相关阅读:
    计算机问题:VirtualBox启动崩溃问题
    软件工程:代码静态分析工具
    oracle 游标
    oracle 控制语句
    oracle 数据类型及函数
    oracle 表空间Tablespaces
    java.lang.RuntimeException: java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符
    oracle 用户解锁和修改用户密码
    shiro + maven 的web配置(不整合spring)
    配置shiro错误
  • 原文地址:https://www.cnblogs.com/Mercury-linux/p/12661786.html
Copyright © 2011-2022 走看看