跳过正文
Background Image
  1. Posts/

SonarQube Community Edition 如何集成到项目中

·312 字·1 分钟· ·
沈显鹏
作者
沈显鹏
目录

在你搭建好 SonarQube 实例后,需要将其与项目集成。

由于我使用的是 Community Edition,它不支持 C/C++ 项目,所以这里只演示 Maven、Gradle 及其他类型项目的集成方法。

假设在 SonarQube 中的项目名称和 ID 都为 test-demo,并通过 Jenkins 进行构建。


Maven 项目集成
#

  1. pom.xml 中添加:

    <properties>
      <sonar.projectKey>test-demo</sonar.projectKey>
    </properties>
    
  2. Jenkinsfile 中添加:

    stage('SonarQube Analysis') {
      def mvn = tool 'Default Maven'
      withSonarQubeEnv() {
        sh "${mvn}/bin/mvn sonar:sonar"
      }
    }
    

Gradle 项目集成
#

  1. build.gradle 中添加:

    plugins {
      id "org.sonarqube" version "3.3"
    }
    
    sonarqube {
      properties {
        property "sonar.projectKey", "test-demo"
      }
    }
    
  2. Jenkinsfile 中添加:

    stage('SonarQube Analysis') {
      withSonarQubeEnv() {
        sh "./gradlew sonarqube"
      }
    }
    

其他类型项目(JS、TS、Python 等)
#

  1. 在代码仓库根目录创建 sonar-project.properties 文件:

    sonar.projectKey=test-demo
    
  2. Jenkinsfile 中添加:

    stage('SonarQube Analysis') {
      def scannerHome = tool 'SonarScanner'
      withSonarQubeEnv() {
        sh "${scannerHome}/bin/sonar-scanner"
      }
    }
    

更多关于 SonarQube 集成的方法,可以访问你本地的 SonarQube 文档页面:
http://localhost:9000/documentation


转载本文请注明作者与出处,禁止商业用途。欢迎关注公众号「DevOps攻城狮」。

相关文章

SonarQube 安装与常见问题排查
·714 字·2 分钟
本文记录了 SonarQube 的安装步骤,包括 LDAP 配置与 PostgreSQL 数据库设置,并附带一些常见问题的排查方法。
JaCoCo 代码覆盖率实践分享
·1803 字·4 分钟
本文介绍了 JaCoCo 的使用方法,包括 Gradle 配置、执行测试生成报告、报告参数说明以及如何忽略指定的包或类影响测试覆盖率结果。
运行 lcov 报错 "Can't locate JSON/PP.pm in @INC ..."
·360 字·1 分钟
本文介绍在运行 lcov 生成代码覆盖率报告时遇到 “Can’t locate JSON/PP.pm in @INC …” 等 Perl 模块缺失错误的解决方法,包括安装缺失的 Perl 模块。
使用 Gcov 和 LCOV 做 C/C++ 项目的代码覆盖率
·1969 字·4 分钟
本文介绍了如何使用 Gcov 和 LCOV 对 C/C++ 项目进行代码覆盖率的度量,包括编译、运行和生成报告的步骤。
修复 "hidden symbol `__gcov_init' in ../libgcov.a(_gcov.o) is referenced by DSO" 错误
·362 字·1 分钟
本文介绍在使用 Gcov 编译项目进行代码覆盖率统计时,出现 “hidden symbol `__gcov_init’…” 等错误的原因及解决方法,包括如何在构建时确保符号不被隐藏。
使用 REST API 添加或更新 Bitbucket 构建状态
·364 字·1 分钟
本文介绍如何通过 Bitbucket REST API 为指定提交添加或更新构建状态,并给出 Shell 脚本示例,适用于手动修复或补充构建状态的场景。