持續整合Jenkins+sonarqube部署教程__Jenkins

來源:互聯網
上載者:User
一 概述

 

     本文主要介紹jenkins,sonarQube的安裝與整合,程式碼分析有sonarQUbe和sonar-runner構建,或者在maven項目情況下可以sonarQbude和maven的構建。介紹jenkins的編譯打包部署,代碼檢查。最後整合jenkins 二 預裝軟體

  軟體名稱 平台 備忘 jdk1.8.0_60 Win10 作業系統 apache-tomcat-8.0.20 Win10 Tomcat容器 Jenkins Win10 連接埠 8088 sonarqube-6.2 Win10 連接埠 9090 sonar-runner-2.6.1 Win10 mysql 5.6 Win10 nexus-3.2.0-01 Linux Maven私人服務 三 配置環境變數

   配置各軟體的環境變數方法不展開描述。除nexus外,其餘都在安裝在本地。

 

 

  四 sonarQube安裝

4.1 將sonaeQbude解壓到本地。

     修改sonar.properties檔案.資料庫使用本地的mysql,建立一個名為sonar的庫。

     當sonarQube啟動時候會自動建立表。

     

     建庫語句 Js代碼   CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;             添加如下內容,sonar預設內建mysql驅動。 Js代碼   sonar.jdbc.username=root   sonar.jdbc.password=11111   sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true    sonar.jdbc.driverClassName=com.mysql.jdbc.Driver  

    新的sonarQbude的表相對舊版來說有了新的改動,升級時候需要把舊的表刪除。否則會報以下錯。 Js代碼   exception caught on transport layer [[id: 0xc7fbf08e, /127.0.0.1:55381 => /127.0.0.1:9001]], closing connection     java.io.IOException: 遠程主機強迫關閉了一個現有的串連。    

 

4.2 啟動sonarQube

 
   
 

     運行“StartSonar.bat”, 訪問9000連接埠,sonar預設內建了jetty伺服器。

     預設使用者名密碼 admin、admin。一些設定和菜單只有在登陸之後才能看到。

     因個人9000連接埠有其他用途,將連接埠改為9090. Java代碼   sonar.web.port=9090  

 

  4.3漢化sonarQube

 

   官網地址 http://docs.sonarqube.org/display/PLUG/Plugin+Library

    
 

   將sonar-l10n-zh-plugin-1.13.jar放置於sonarqube-6.2\extensions\plugins下。重啟sonarQube。  soanrQube有一些需要到的外掛程式,用於程式碼分析。 外掛程式介紹

外掛程式的下載地址為:http://docs.codehaus.org/display/SONAR/Plugin+Library

將下載後的外掛程式上傳到${SONAR_HOME}extensions\plugins目錄下,重新啟動sonar。

sonar預設整合了Java Ecosystem外掛程式,該外掛程式是一組外掛程式的合集

(1)Java [sonar-java-plugin]:java原始碼解析,計算指標等

(2)Squid [sonar-squid-java-plugin]:檢查違反Sonar定義規則的代碼

(3)Checkstyle [sonar-checkstyle-plugin]:使用CheckStyle檢查違反統一代碼編寫風格的代碼

(4)FindBugs [sonar-findbugs-plugin]:使用FindBugs檢查違反規則的缺陷代碼

(5)PMD [sonar-pmd-plugin]:使用pmd檢查違反規則的代碼

(6)Surefire [sonar-surefire-plugin]:使用Surefire執行單元測試

(7)Cobertura [sonar-cobertura-plugin]:使用Cobertura擷取程式碼涵蓋範圍

(8)JaCoCo [sonar-jacoco-plugin]:使用JaCOCO擷取程式碼涵蓋範圍

常用的外掛程式:

(1)JavaScript代碼檢查:http://docs.codehaus.org/display/SONAR/JavaScript+Plugin

(2)Python代碼檢查:http://docs.codehaus.org/display/SONAR/Python+Plugin

(3)Web頁面檢查(HTML、JSP、JSF、Ruby、PHP等):http://docs.codehaus.org/display/SONAR/Web+Plugin

(4)xml檔案檢查:http://docs.codehaus.org/display/SONAR/XML+Plugin

(5)scm源碼庫統計分析:http://docs.codehaus.org/display/SONAR/SCM+Stats+Plugin

(6)檔案度量:http://docs.codehaus.org/display/SONAR/Tab+Metrics+Plugin

(7)中文語言套件:http://docs.codehaus.org/display/SONAR/Chinese+Pack

(8)時間表顯示度量結果:http://docs.codehaus.org/display/SONAR/Timeline+Plugin

(9)度量結果演化圖:http://docs.codehaus.org/display/SONAR/Motion+Chart+Plugin

(b)外掛程式配置樣本(本段內容來自http://www.ibm.com/developerworks/cn/java/j-lo-sonar/

 

  五 sonar-runner安裝

5.1 修改sonar-runnerc下的conf的sonar-scanner.properties設定檔

  Java代碼   sonar.host.url=http://localhost:9090   sonar.jdbc.username=root   sonar.jdbc.password=11111   sonar.jdbc.url=jdbc:mysql://10.10.5.64:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true    sonar.jdbc.driverClassName=com.mysql.jdbc.Driver    

5.2  在項目的根目錄下添加檔案sonar-project.properties

    1 單一個項目 Java代碼   sonar.projectKey=pljj   sonar.projectName=pljj   sonar.projectVersion=1.0-SNAPSHOT   sonar.sources=src/main/java   sonar.tests=src/test/java   sonar.binaries=target/classes      sonar.language=java  

 

  2 maven多模組 Java代碼   sonar.projectKey=pljj   sonar.projectName=pljj   sonar.projectVersion=1.0   sonar.sources=.   sonar.language=java   sonar.sourceEncoding=UTF-8  

   或者 Java代碼   sonar.projectKey=com.pljj-job   sonar.projectName=elastic-job   sonar.projectVersion=1.1.0   # Set modules IDs   sonar.modules=pljj-core,pljj-console,pljj-spring   # Modules inherit properties set at parent level   sonar.sources=src/main/java   sonar.tests=src/test/java   sonar.java.binaries=target   sonar.language=java    

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.