zoukankan      html  css  js  c++  java
  • Jenkins:整合SonarQube8

    安装Sonarqube8

    前提:sonarqube8需要jdk11的环境

    yum install -y java-11-openjdk
    

    去官网上下载对应的zip包,放到服务器中,我这里直接放到/root目录下

    https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.6.0.39681.zip

    unzip sonarqube-8.6.0.39681.zip
    mkdir /opt/sonar
    mv sonarqube-8.6.0.39681/* /opt/sonar/
    useradd sonar
    chown -R sonar. /opt/sonar
    su sonar
    #使用默认配置,如有需要,可使用oracle,postgresql等数据库而不是保存sonarqube数据
    /opt/sonar/bin/linux-x86-64/sonar.sh start
    

    查看sonarqube日志:

    tail -100f /opt/sonar/logs/sonar-20201230.log
    

    image-20201230193853452

    启动成功后,sonarqube默认web页面访问9000端口,默认账号密码都是admin,修改默认密码,进入首页:

    image-20201230195220380

    生成令牌:

    点击头像,安全一栏下:输入令牌名称(任意字符串),我这里写成token,点击生成

    image-20201230200527791

    保存生成的token,后面jenkins连接sonarqube需要使用。

    jenkins整合sonarqube

    jenkins安装sonarqube scanner插件

    image-20201230195747292

    安装完成重启后,配置sonar的凭证信息:选择secrect text,secrect填入上一步sonarqube生成的token,点击确定

    image-20201230200724325

    点击进入系统配置,找到sonarqube server,添加sonar凭证和server url(sonarqube web页面访问路径)

    image-20201230201037637

    点击全局工具配置,新增一个sonarqube scanner,点击保存

    image-20201230213232429

    Sonarqube代码审查

    非流水线项目

    对非流水线项目添加sonarqube scan的步骤

    image-20201230201316347

    配置一些信息:注意task to run需要填入scan

    image-20201230212048765

    sonar.projectKey=test01
    sonar.projectName=test01
    sonar.projectVersion=1.0
    
    sonar.sources=.
    #sonar.exclusions=**/test/**,**/target/**
    sonar.java.binaries=target
    
    sonar.java.source=1.8
    sonar.java.target=1.8
    
    sonar.sourceEncoding=UTF-8
    

    点击保存,然后build now,等待构建完成后,进入sonarqube,发现审查结果已经出来了

    image-20201230202653252

    故意写一点冗余代码,观察sonarqube结果:

    image-20201230211136046

    image-20201230212129135

    流水线项目审查代码

    项目根目录创建一个sonar-project.properties文件,文件内容与刚才一样

    sonar.projectKey=web_pipeline
    sonar.projectName=web_pipeline
    sonar.projectVersion=1.0
    
    sonar.sources=.
    #sonar.exclusions=**/test/**,**/target/**
    sonar.java.binaries=target
    
    sonar.java.source=1.8
    sonar.java.target=1.8
    
    sonar.sourceEncoding=UTF-8
    

    image-20201230212457622

    配置Jenkinsfile:注意箭头指出的名字要对应上

    image-20201230213657853

    修改完成后提交,然后构建流水线项目,观察结果:流水线项目成功被sonarqube审查

    image-20201230214201030

  • 相关阅读:
    Java实现 LeetCode 697 数组的度(类似于数组的map)
    Java实现 LeetCode 697 数组的度(类似于数组的map)
    Java实现 LeetCode 697 数组的度(类似于数组的map)
    Java实现 LeetCode 696 计数二进制子串(暴力)
    Java实现 LeetCode 696 计数二进制子串(暴力)
    Java实现 LeetCode 696 计数二进制子串(暴力)
    Java实现 LeetCode 695 岛屿的最大面积(DFS)
    Java实现 LeetCode 695 岛屿的最大面积(DFS)
    PHP serialize() 函数
    PHP print_r() 函数
  • 原文地址:https://www.cnblogs.com/wwjj4811/p/14213671.html
Copyright © 2011-2022 走看看