zoukankan      html  css  js  c++  java
  • jenkins+sonar 持续集成检测代码质量

     

    一、jenkins-->Manage Plugins:安装插件 SonarQube Scanner for Jenkins

    二、jenkins-->Configure System:配置 SonarQube servers

    1)先在 sonarQube 平台创建 token,用来配置 jenkins 登录 sonarQube 

    2)然后在 jenkins 的 Configure System 配置 Name、Server URL、Server authentication token

     3)添加 token

     

     

    三、jenkins-->Global Tool Configuration:配置 SonarQube Scanner

    四、新建一个 project 

    五、配置 git

    六、注意在如下选项前打钩

    七、以 java 为例,构建添加两个构建步骤:Invoke top-level Maven targets 和 Execute SonarQube Scanner

    若没有 Invoke top-level Maven targets 的,需要先在 Manage Plugins 中安装此插件 

     这段配置很重要

     Analysis properties:

    sonar.projectKey=hr-server           # SonarQube中项目的唯一标识符。只要它是唯一的                
    sonar.projectName=hr-server          # SonarQube中项目显示的名称
    sonar.version=1.0                    # 版本号
    sonar.sources=core/src                   # 源码目录
    sonar.java.binaries=core/target/classes    # 编译后的文件目录
    sonar.language=java                              # 编程语言
    sonar.sourceEncoding=UTF-8
    sonar.scm.disabled=true

    八、构建完成之后,jenkins页面可以直接链接到 SonarQube

     

    总结

      不同语言 Analysis properties 配置略有不同。以 java 和 python 为例,不同点:java 需指定编译后的文件目录(安装maven插件),而 python 只需指定源码目录即可。

    Java:  

    Analysis properties:

    • sonar.projectKey=hr-server              # SonarQube中项目的唯一标识符。只要它是唯一的                
    • sonar.projectName=hr-server          # SonarQube中项目显示的名称
    • sonar.version=1.0                            # 版本号
    • sonar.sources=core/src                   # 源码目录
    • sonar.java.binaries=core/target/classes    # 编译后的文件目录
    • sonar.language=java                              # 编程语言
    • sonar.sourceEncoding=UTF-8
    • sonar.scm.disabled=true

    Python:

     Analysis properties:

    • sonar.projectKey=AutomationApiTest          # SonarQube中项目的唯一标识符。只要它是唯一的
    • sonar.projectName=AutomationApiTest      # SonarQube中项目显示的名称
    • sonar.projectVersion=1.0                            # 版本号
    • sonar.sources=.                     # 源码目录
    • sonar.language=py               # 编程语言
    • sonar.sourceEncoding=UTF-8          
    • sonar.scm.disabled=true
  • 相关阅读:
    C++我们必须要熟悉的事之具体做法(3)——类的设计与声明
    C++我们必须要了解的事之具体做法(1)——构造、复制构造、析构、赋值操作符背后的故事
    STL hash table, Unordered Contains
    多个生产者——多个消费者模型(互斥量条件变量实现)
    将UNIX网络编程卷2的库函数合并到卷1的库函数中
    进程间通信(三)——Posix共享内存区
    进程间同步(1)——条件变量和互斥量
    进程间通信(二)——Posix消息队列
    python使用百度翻译api
    screen命令
  • 原文地址:https://www.cnblogs.com/shenh/p/13525602.html
Copyright © 2011-2022 走看看