1. 程式人生 > >Centos7環境安裝SonarQube

Centos7環境安裝SonarQube

SonarQube簡SonarQube簡介Sonar 是一個用於程式碼質量管理的開放平臺。通過外掛機制,Sonar 可以整合不同的測試工具,程式碼分析工具,以及持續整合工具。比如pmd-cpd、checkstyle、findbugs、Jenkins。通過不同的外掛對這些結果進行再加工處理,通過量化的方式度量程式碼質量的變化,從而可以方便地對不同規模和種類的工程進行程式碼質量管理。同時 Sonar 還對大量的持續整合工具提供了介面支援,可以很方便地在持續整合中使用 Sonar。此外,Sonar 的外掛還可以對 Java 以外的其他程式語言(支援的語言包括:Java、PHP、C#、C、Cobol、PL/SQL、Flex等)提供支援,對國際化以及報告文件化也有良好的支援。可以說Sonar是目前最強大的程式碼質量管理工具之一。SonarQube為靜態程式碼檢查工具,採用B/S架構,幫助檢查程式碼缺陷,改善程式碼質量,提高開發速度,通過外掛形式,可以支援Java、C、C++、JavaScripe等等二十幾種程式語言的程式碼質量管理與檢測。通過客戶端外掛分析原始碼,sonar客戶端可以採用IDE外掛、Sonar-Scanner外掛、Ant外掛和Maven外掛方式,並通過各種不同的分析機制對專案原始碼進行分析和掃描,並把分析掃描後的結果上傳到sonar的資料庫,通過sonar web介面對分析結果進行管理1.安裝環境系統環境:CentOS-7-x86_64-DVD-1708前置條件:jdk1.8.0_161 , mysql-5.7.21軟體安裝目錄:/usr/local/sonarqube軟體版本:sonarqube-6.4,sonar-scanner-2.8.zip2.預置條件2.1 需要JDK1.8+支援;(已安裝,詳見(三)centos7環境安裝Oracle JDK)2.2 需要Mysql資料庫支援;(雖然SonarQube自帶了H2資料庫,但是為了方便管理資料推薦使用Mysql資料庫,如何安裝見:(五)Centos7環境下安裝Mysql(多例項))JDK是必須安裝的,Mysql資料庫並不是必須要安裝的,如果公司有Mysql伺服器,直接拿來使用就行,但是需要更改mysql的預設引擎為INNODB,否則會報錯。需要注意的是:(1).執行SonarQube時官方要求如果是MySQL,要求資料庫預設引擎為InnoDB而不是MyISAM,而在前面的章節中我們恰恰是配置的預設引擎為MyISAM,需要開啟/usr/local/mysql-5.7.18/data/3306/my.cnf將[mysqld]節點下的“default-storage-engine=MyISAM”改為“default-storage-engine= InnoDB”。此外,還要求必須是UFT8編碼,這個在之前的配置檔案已經配置為UFT8,所以無需改動;(2).瀏覽SonarQube結果需要IE 11/Microsoft Edge或FireFox、Chrome的最新版本。3.軟體準備如果需要使用SonarQube對C#進行程式碼質量分析,需要下載sonar-scanner-msbuild和MSBuild,其中要求MSBuild在V14.0以上,不想安裝MSBuild的同學可以直接安裝Microsoft Build Tools 2015。sonar-scanner-msbuild-3.0.0.629.zip,下載地址:Microsoft Build Tools 2015,下載地址:通過上面提供的軟體已經滿足在命令列下對程式碼進行分析的條件了,為了方便IDE開發人員,還提供了SonarLintwei,其網址為:
http://www.sonarlint.org/
4.安裝在安裝之前,介紹一下SonarQube和SonarQube Runner之間的關係。SonarQube是伺服器端,它主要有兩個功能:1.分析原始碼;2.因為它內嵌了Apache模組,所以提供Web端的介面訪問。SonarQube Runner是一個利用SonarQube服務端分析程式碼的命令列工具,可以把它簡單理解為客戶端。所以,為了安裝和除錯方便,建議SonarQube和SonarQube Runner都下載。4.1 安裝SonarQube將下載的sonarqube-6.4.zip和sonar-scanner-2.8.zip上傳到CentOS7的root目錄下(也可通過wget下載) cd /root      
   //開啟root目錄unzip /root/sonarqube-6.4.zip -d /usr/local //解壓sonarqube安裝包到 /root/usr/local路徑下啟動SonarQube的檔案在/usr/local/sonarqube-6.4/bin目錄下,輸入檢視該目錄結構[[email protected] ~]# cd /usr/local/sonarqube-6.4/bin[[email protected] bin]# ll顯示如下:drwxr-xr-x. 2 root root  25 Jun  2  2017 jsw-licensedrwxr-xr-x. 3 root root  48 Jun  2  2017 linux-x86-32
drwxr-xr-x. 3 root root  48 Jun  2  2017 linux-x86-64drwxr-xr-x. 3 root root  48 Jun  2  2017 macosx-universal-64drwxr-xr-x. 3 root root 167 Jun  2  2017 windows-x86-32drwxr-xr-x. 3 root root 167 Jun  2  2017 windows-x86-64注意: 根據系統的不同進入不同目錄下啟動SonarQube,本機系統為CentOS7x64位的,因此在本機上啟動SonarQube的指令碼為:/usr/local/sonarqube-6.4/bin/linux-x86-64/sonar.sh。啟動:/usr/local/sonarqube-6.4/bin/linux-x86-64/sonar.sh start重啟:/usr/local/sonarqube-6.4/bin/linux-x86-64/sonar.sh restart關閉:/usr/local/sonarqube-6.4/bin/linux-x86-64/sonar.sh stop啟動sonarqube,輸入:/usr/local/sonarqube-6.4/bin/linux-x86-64/sonar.sh start顯示:Starting SonarQube...          Started SonarQube.我們就可以從瀏覽器中開啟SonarQube的結果頁面了,網址是:http://192.168.60.198:9000(這個IP是我的虛擬機器外部訪問IP,在虛擬機器內部可以通過http://localhost:9000訪問,因在外部操作方便故本人習慣於是用外部地址訪問,下同),預設管理員賬戶是:admin/admin。若遠端訪問失敗,則開放伺服器防火牆9000埠開啟火狐瀏覽器,輸入:firefox4.2配置SonarQube4.2.1修改配置檔案sonar-runner.properties由於SonarQube預設使用的H2資料庫僅為演示使用,實際上登入系統之後就會看到提示,如下:“bedded database should be used for evaluation purpose onlyThe embedded database will not scale, it will not support upgrading to newer versions of SonarQube, and there is no support for migrating your data out of it into a different database engine. ”因此需要對SonarQube進行配置,這裡以MySQL5.17.21為例:通過vim /usr/local/sonarqube-6.4/conf/sonar.properties開啟SonarQube的配置檔案,作如下修改:# User credentials.# Permissions to create tables, indices and triggers must be granted to JDBC user.# The schema must be created first.sonar.jdbc.username=sonarsonar.jdbc.password=sonar#----- MySQL 5.x配置web server:埠號:9090:允許ip:0.0.0.0 表示允許所有;# Binding IP address. For servers with more than one IP address, this property specifies which# address will be used for listening on the specified ports.# By default, ports will be used on all IP addresses associated with the server.sonar.web.host=0.0.0.0# Web context. When set, it must start with forward slash (for example /sonarqube).# The default value is root context (empty value).#sonar.web.context=# TCP port for incoming HTTP connections. Default value is 9000.sonar.web.port=9000去掉註釋,即刪除前面的“#”。上面的使用者名稱和密碼是連結到SonarQube系統的所使用的資料庫的賬號資訊,同時在資料庫url中指定了SonarQue所使用的資料庫為sonar,如果與實際環境中不一致需要相應修改。4.2.2MySQL資料設定首先啟動資料庫:/usr/local/mysql-5.7.21/data/3306/mysql start然後登入資料庫:/usr/local/mysql-5.7.21/bin/mysql -u root -p -S ./data/3306/mysql.sock輸入具有管理許可權的賬號和密碼後,以此進行建立資料庫、授權使用者操作:create database if not exists sonar character set utf8;CREATE USER 'sonar'@'%' IDENTIFIED BY 'sonar';CREATE USER 'sonar'@'localhost' IDENTIFIED BY 'sonar';grant all privileges on sonar.* to 'sonar'@'%' identified by 'sonar';grant all privileges on sonar.* to 'sonar'@'localhost' identified by 'sonar';flush privileges;quit         // 退出資料庫經歷過Java開發的開發人員肯定清楚,Java訪問資料庫需要JDBC驅動,在/usr/local/sonarqube-6.4/lib/jdbc目錄下預設內建了h2/mssql/mysql/postgresql的JDBC驅動,如果是使用其它型別資料庫作為SonarQube的資料,需要將對應的JDBC驅動下載並存放到指定目錄,如Oracle的JDBC驅動存放位置:/usr/local/sonarqube-6.4/extensions/jdbc-driver/oracle。至此已完成了SonarQube和MySQL資料庫的配置工作,可以通過如下命令重啟:/usr/local/sonarqube-6.4/bin/linux-x86-64/sonar.sh restart重啟之後就不會出現要求更換資料庫的提示了。配置JDBC之後第一次執行時需要較長時間,因為需要初始化資料庫。4.3安裝外掛在完成SonarQube配置後,在虛擬機器所在宿主機上通過http://虛擬機器IP:9000並是用系統管理員賬號登入後就可以安裝外掛了。進入安裝外掛的路徑是:“Administration”-“System”-“Update Center”,如下圖所示:Available中升級python語言包c語言程式碼分析安裝包:開啟scm,詳見sonarqube使用說明。預設已經安裝了一些外掛了,但是本人執行的時候提示我更新,於是本人就按照提示進行了更新,如果不習慣英文介面的朋友,可以安裝中文語言包,如下圖所示:不過本人還是想盡量創造一些英文環境來鞏固英語,畢竟大量的系統和框架都是英文的,連其說明文件也是英文的,因此在這裡就不安裝了。

相關推薦

Centos7環境安裝SonarQube

SonarQube簡SonarQube簡介Sonar 是一個用於程式碼質量管理的開放平臺。通過外掛機制,Sonar 可以整合不同的測試工具,程式碼分析工具,以及持續整合工具。比如pmd-cpd、checkstyle、findbugs、Jenkins。通過不同的外掛對這些結果進行再加工處理,通過量化的方式度量程

Centos7.3安裝sonarqube

安裝使用sonarqube         前置依賴         mysql 5.6 or 5.7    &n

CentOS7環境安裝配置Redis

第一步:下載redis安裝包 wget http://download.redis.io/releases/redis-4.0.9.tar.gz 想下載哪個版本可以複製上面連結刪除redis-*部分內容,可以檢視到所有redis版本的安裝包 第二步:解壓安裝包 ta

centos7 環境安裝rabbitmq 叢集

繼上一篇https://www.cnblogs.com/drafire/p/10062891.html ,這篇部落格繼續介紹centos 7下安裝rabbitmq的叢集。 今天在公司搞了一天的rabbitmq,各種牛鬼蛇神的部落格都看過了,終於看到了一遍說得有點模樣的了,廢話不多說,直接上乾貨。

CentOS7環境安裝Kubernetes四部曲之二:配置模板和安裝master

本文是《CentOS7環境安裝Kubernetes四部曲》系列的第二篇,前一篇《CentOS7環境安裝Kubernetes三部曲:標準化機器準備》我們把機器準備好了,並且做了必要的設定,現在我們用這些機器來接著安裝kubernetes; 安裝rancher

使用專業的訊息佇列產品rabbitmq之centos7環境安裝

    我們在專案開發的時候都不可避免的會有非同步化的問題,比較好的解決方案就是使用訊息佇列,可供選擇的佇列產品也有很多,比如輕量級的redis, 當然還有重量級的專業產品rabbitmq,rabbitmq好就好在是用erlang(二郎神)開發的,它那天生的OTP平行計算框架,輕而易舉的程序間通訊,我都恨

CentOS7環境安裝Kubernetes四部曲之一:標準化機器準備

通過Rancher安裝Kubernetes的文章前面已經寫過,但那時是需要科學上網才能安裝成功(下載gcr.io/google_containers/XXXXX的映象),本次實戰依舊是用Rancher來安裝Kubernetes,但是會做一些設定,使得不用翻牆也能

轉載CentOS7環境安裝kubectl工具

CentOS7環境安裝Kubernetes四部曲之四:安裝kubectl工具   轉自--https://blog.csdn.net/boling_cavalry/article/details/79624655 2018年03月20日 16:40:57 閱讀數:2117

CentOS7環境安裝Kubernetes四部曲之四:安裝kubectl工具

本文是《CentOS7環境安裝Kubernetes四部曲》系列的終篇,經歷了前三篇文章的實戰,我們用rancher搭建了具備master和node的完整K8S環境,但是目前還不能通過kubectl工具在K8S環境做更多的操作,本章我們來實戰安裝和配置kubect

Linux(CentOS7)環境安裝redis

開發十年,就只剩下這套架構體系了! >>>   

Hyperledger fablic 0.6 在centos7環境下的安裝與部署

maker ber gin sudo 管理 lease nts eve blank 原文:http://blog.csdn.net/zhaoliang1131/article/details/54617274 Hyperledger Fabric超級賬本 項目約定共同遵守

centos7編譯安裝lnmp環境

gzip enabled get ash string -m with 用戶組 ttr mysql版本:wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.30.tar.gz /home/ 準備工作

CentOS7/64位環境安裝Mysql 5.7.19二進制包教程

char group 教程 設置 路徑 datadir init alt mysq 1.下載mysql 在官網:http://dev.mysql.com/downloads/mysql/ 中,選擇二進制的mysql版本下載: #wget http://dev.mys

centos7.3安裝最新版lamp環境

生成 oot noi 查看 yum port config cati 鏈接 本篇文章講解的是centos7.3環境中安裝Apache2.4 + MySQL5.7 + PHP7.1.8 一.Apache 1.查看httpd包是否可用yum list | grep

Centos7安裝Python+Selenium+Firefox學習環境

xorg highlight 使用 瀏覽器 pre 代碼 我認 執行 如果 Selenium 一自動化測試工具。它支持 Chrome,Safari,Firefox 等主流界面式瀏覽器,如果你在這些瀏覽器裏面安裝一個 Selenium 的插件,那麽便可以方便地實現Web界面的

centos7 pyspider環境安裝

pyspider PySpider 是一個我個人認為非常方便並且功能強大的爬蟲框架,支持多線程爬取、JS動態解析,提供了可操作界面、出錯重試、定時爬取等等的功能,使用非常人性化。網上的參考文檔:http://www.jianshu.com/p/8eb248697475 http://cuiqingcai.c

本地安裝SonarQube之一——win7環境安裝mysql

sta inno code ons 默認 客戶 datadir 文件目錄 環境 下載Mysql,http://dev.mysql.com/downloads/mysql/ 本人下載的5.7.20 解壓數據庫(路徑不要有t字開頭的文件夾),然後配置環境變量,地址是${mys

CentOS7 編譯安裝nodejs,配置環境變量記錄

ever lis detail 遇到 ++ help 設置 代碼 contains 每次都裝,每次都查 阿裏雲備案了一個域名,續費了好多年,但是沒錢買服務器,就掛在github上。今天收到消息:域名解析服務器不在阿裏雲,要被GG。只能咬牙買了個阿裏雲乞丐版。 所有服務都裝

Docker安裝CentOS7環境

dockerDocker安裝 下載yum源 curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker.repo yum install -y docker-ce速度慢比較慢,可以直接下載rp

CentOS7.2安裝配置nginx+flask+python+uwsgi運行環境

編程語言 Python 操作系統:CentOS 7.2Nginx安裝請參考centos7.2安裝nginx這個文章1. 安裝python3.5執行命令wget --no-check-certificate https://www.python.org/ftp/python/3.5.0/Python-3