Jenkins+SonarQube代碼質量檢查自動化


 

    1. 基礎概念
      百度百科:
      Jenkins是基於Java開發的一種持續集成工具,用於監控持續重復的工作,功能包括:
      1、持續的軟件版本發布/測試項目。
      2、監控外部調用執行的工作。
      前面[Sonarqube 代碼質量管理平台搭建]-已搭建完成,如何讓Sonarqube按照我們想要規律進行工作呢?就靠Jenkins啦。
    2. 安裝
      Jenkins的安裝很簡單,官網提供的安裝方式如下

      sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
      sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key sudo yum install jenkins #啟動/停止/重啟命令 sudo service jenkins start/stop/restart #設置自啟動 sudo chkconfig jenkins on

      需要有JAVA環境,此處略。
      訪問:http://ip:8080/
      配置文件:/etc/sysconfig/jenkins
      JENKINS_HOME="/var/lib/jenkins"
      JENKINS_PORT="8080"

      /var/lib/jenkins
      Jenkins所有配置和所有操作存放的位置
      Jenkins遷移/備份 這個目錄即可


      jenkins work.jpg
    3. 安裝sonar插件


      管理插件.jpg

      插件安裝.jpg


      查找sonar-勾選-直接安裝,安裝好了如下


      已安裝.jpg
    4. sonarqube 配置
      系統管理-系統設置
      添加Sonar runner
      /usr/local/quality/sonar-runner-2.4/
      如該目錄下需要有./bin/sonar-runner 文件
      添加SonarQube


      sonar.jpg

      sonar配置成功.jpg
    5. 構建項目
      新建項目-部分略
      定時任務-略

      Invoke Standalone SonarQube Analysis.jpg

      在Analysis properties中輸入檢查規則,以下是運用多個檢查項的規則
      #required metadata #projectKey項目的唯一標識,不能重復。 sonar.projectKey=chances_cms #projectName值不能是中文,否則web頁面部分是亂碼 sonar.projectName=chances_cms sonar.projectVersion=4.0 sonar.sourceEncoding=UTF-8 sonar.modules=java-module,javascript-module,html-module,CSS-module # Java module java-module.sonar.projectName=chances_cms_java java-module.sonar.language=java # .表示projectBaseDir指定的目錄 java-module.sonar.sources=src java-module.sonar.projectBaseDir=. #sonar.binaries=classes # JavaScript module javascript-module.sonar.projectName=chances_cms_js javascript-module.sonar.language=js javascript-module.sonar.sources=webapp javascript-module.sonar.projectBaseDir=. # Html module html-module.sonar.projectName=chances_cms_html html-module.sonar.language=web html-module.sonar.sources=webapp html-module.sonar.projectBaseDir=. # CSS module CSS-module.sonar.projectName=chances_cms_css CSS-module.sonar.language=css CSS-module.sonar.sources=webapp CSS-module.sonar.projectBaseDir=.
    6. 執行構建

      執行構建.jpg

      構建成功后,會自動將檢查結果導入sonarqube的數據庫中

      結果展示.jpg


免責聲明!

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



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