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.exclusions=**/*.xml,**/*.html       排除不需要檢測的文件,如:xml、html              
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.exclusions=**/*.xml,html                        # 排除不需要檢測的文件,如:xml、html
  • 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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM