测试左移之Sonarqube scanner使用

105 阅读1分钟

Sonarqube scanner使用,需要先安装好环境及配置文件。

安装

作用:分析代码与数据,并上传,独立客户端程序 独立下载:docs.sonarqube.org/display/SCA… mac:brew install sonar-scanner scanner 有 2 种类型的配置文件,全局配置文件与项目配置文件。

全局配置文件

scanner 的全局配置文件用于保存一些全局性的配置,比如 sonar 的 token 与主机等配置。路径在$install_directory/conf/sonar-scanner.properties:

#----- Default SonarQube server
#sonar.host.url=http://localhost:9000

项目配置文件

在待分析的项目源代码的主目录下可以配置一个 sonar 的项目配置文件 sonar-project.properties

# must be unique in a given SonarQube instance
sonar.projectKey=my:project

# --- optional properties ---

# defaults to project key
#sonar.projectName=My project
# defaults to 'not provided'
#sonar.projectVersion=1.0

# Path is relative to the sonar-project.properties file. Defaults to .
#sonar.sources=.

# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8

scanner参数传递机制

有的时候不方便修改配置文件,可以把一些配置通过参数传递给 scanner,基本上所有的全局或者项目配置都可以被传递到 scanner 的-D 参数中。

sonar-scanner \
  -Dsonar.host.url=http://sonarqube.testing-studio.com:9000 \
    -Dsonar.login=$SONARQUBE_TOKEN
    
    ```
    
    ## scanner在构建工具中的集成
    
    scanner 支持目前主流的项目构建工具,并提供了对应的构建工具的支持,常见的插件包括
    - Gradle - SonarScanner for Gradle
    - MSBuild - SonarScanner for MSBuild
    - Maven - use the SonarScanner for Maven
    - Jenkins - SonarScanner for Jenkins
    - Azure DevOps - SonarQube Extension for Azure DevOps
    - Ant - SonarScanner for Ant
    - anything else (CLI) - SonarScanner
    
    ## 下载示例项目
    
    ```
    git clone https://github.com/SonarSource/sonar-scanning-examples.git
    cd sonar-scanning-examples
    
    ```
    
    
    大家可以把这个示例项目下载下来,能更好的帮大家学习和掌握scanner的使用哦~
    
    内容全面升级,4 个月 20+ 项目实战强化训练,资深测试架构师、开源项目作者亲授 BAT 大厂前沿最佳实践,带你一站式掌握测试开发必备核心技能(对标阿里P6+,年薪50W+)!直推 BAT 名企测试经理,普遍涨薪 50%+!
    
    ### 
    ⬇️ 点击“阅读原文”,提升测试核心竞争力!
    [原文链接](https://mp.weixin.qq.com/s?__biz=MzU3NDM4ODEzMg==&mid=2247499588&idx=1&sn=f479c0550c38d9e23b55e382f9c4c18e&chksm=fd319d8fca461499f92944af68445a36cf4ef4fe83d841fec5dc35d49c4c16b5bde51519d27d#rd) 
    
    [更多技术文章](https://qrcode.ceba.ceshiren.com/link?name=article&project_id=qrcode&from=juejin&timestamp=1661965200&author=Muller)