sonarqube centos 部署到掃描
首先宣告一點:mysql 版本要與 sonarsube 版本對應
本文件 mysql5.7 sonarsube7.8(據說 7.9 之後不支援 mysql)
1.基礎環境搭建:
一鍵安裝網站:https://oneinstack.com/auto/
wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --jdk_option 2 --db_option 2 --dbinstallmethod 1 --dbrootpwd Lz123456 --ssh_port 22 --reboot
安裝 mysql5.7 jdk1.8 開放 ssh 22 埠(一鍵安裝自動配置環境變數)
自動安裝完成之後開放 mysql3306(其他埠也在這裡面開放)注:阿里雲也要配置埠規則
5 編輯防火牆,增加埠
vi /etc/sysconfig/iptables # 編輯防火牆配置檔案
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
:wq! # 儲存退出
systemctl restart iptables.service # 重啟防火牆使配置生效
systemctl enable iptables.service # 設定防火牆開機啟動
2.sonarqube 環境搭建
sonarqube 包下載地址:https://www.sonarqube.org/sonarqube-7-8/
透過 xftp 工具拉倒伺服器上
解壓到之指定資料夾
unzip -d //usr/local/ sonarqube-7.8.zip
重新命名資料夾
mv /usr/local/sonarqube-7.8 /usr/local/sonarqube
修改 sonar.properties
vim /usr/local/sonarqube/conf/sonar.properties
##增加下面的配置資訊
#資料庫url
sonar.jdbc.url=jdbc:mysql://ip地址:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
#資料庫使用者名稱
sonar.jdbc.username=sonar
#資料庫密碼
sonar.jdbc.password=sonar
sonar.sorceEncoding=UTF-8
#sonarweb登入賬號以及密碼
sonar.login=admin
sonar.password=admin
#注:不建議修改埠號
#應用埠號(預設9000)
sonar.web.port=9000
新增使用者並授權資料夾
因為sonarqube和elasticsearch不允許root使用者啟動,所以得新增使用者
## 建立普通使用者
useradd sonarqube
passwd sonarqube
## 給普通使用者授sonarqube的許可權
chmod -R 777 /usr/local/sonarqube
## 修改elasticsearch.yml
vim /usr/local/sonarqube/elasticsearch/config/elasticsearch.yml
## 增加
network.host: 0.0.0.0
## 修改/etc/security/limits.conf檔案,新增或修改如下行:
#<domain> <type> <item> <value>
#
* hard nofile 65536
* soft nofile 65536
root soft nproc 131072
root hard nproc 131072
## 修改 /etc/sysctl.conf 檔案,新增如下行:(重啟虛擬機器生效)
vm.max_map_count=655360
##重啟之後檢視
sysctl -p
vm.max_map_count=655360
mysql建立sonar相關
進入mysql
mysql -uroot -p
Enter password:
建立sonar相關
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
mysql> FLUSH PRIVILEGES;
啟動SonarQube
## 進入SonarQube的bin目錄
cd /usr/local/sonarqube/bin/linux-x86-64/
## 切換sonarqube使用者
su sonarqube
## 啟動sonarqube
./sonar.sh start
啟動成功
Starting SonarQube...
Started SonarQube.
可以檢視日誌看是否啟動成功
cd /usr/local/sonarqube/logs
ls
## 日誌檔案 依次檢視.log檔案看是否啟動報錯
access.log ce.log es.log README.txt sonar.log web.log
sonarqube啟動執行一會之後,去瀏覽器開啟 ip地址:port進入頁面。
使用和外掛(離線安裝)
使用配置的賬戶密碼登入 login
admin
admin
中文外掛
登入之後選擇按下圖步驟操作;
因為外掛市場預設是最新的外掛。所以外掛的 github 下載往期版本(7.8)
下載後將jar包直接傳輸到伺服器linux的sonarqube的外掛目錄下
## 外掛目錄
/usr/local/sonarqube/extensions/plugins/
匯入之後在sonarqube使用者下重啟sonarqube:
cd /usr/local/sonarqube/bin/linux-x86-64
su sonarqube
./sonar.sh restart
重啟之後就是中文版頁面了。
cd /usr/local/sonarqube/bin/linux-x86-64
su sonarqube
./sonar.sh restart
外網 ip:埠號
直接訪問網站登入之後建立專案
選中型別,本文是 java + maven
會得到一串碼
得到碼之後 mvn 命令執行
注意事項:先配置maven的sonar外掛
配置分兩種我只嘗試過第一種
本地maven倉庫setting.xml 新增
<pluginGroups>
<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- 配置 Sonar Host地址,預設:http://localhost:9000 -->
<sonar.host.url>
http://8.129.70.102:9000
</sonar.host.url>
<!-- 程式碼分析包括哪些檔案需要分析,英文逗號分隔 -->
<sonar.inclusions>**/*.java,**/*.xml</sonar.inclusions>
</properties>
</profile>
</profiles>
進入maven專案目錄執行mvn clean verify sonar:sonar
----------非必操作項
如果想制定sonar-maven-plugin外掛版本 例如3.3.0.603版本 可以修改專案pom.xml
<build>
<plugins>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.3.0.603</version>
</plugin>
</plugins>
</build>
也可以直接執行
mvn clean install org.sonarsource.scanner.maven:sonar-maven-plugin:3.3.0.603:sonar
結果:
大部分轉載大佬:
https://www.sonarqube.org/sonarqube-7-8/
相關文章
- SonarQube學習(六)- SonarQube之掃描報告解析
- SonarQube學習(三)- 專案程式碼掃描
- 持續整合工具之jenkins+sonarqube做程式碼掃描Jenkins
- SonarQube系列-透過配置掃描分析範圍,聚焦關鍵問題
- 我們開源了一款 SonarQube iOS 程式碼掃描外掛iOS
- 全表掃描和全索引掃描索引
- AWVS掃描器掃描web漏洞操作Web
- 掃描器的存在、奧普 掃描器
- win10系統掃描器提示掃描不到掃描器如何解決Win10
- 掃描器
- 掃描王 for Mac專業圖片掃描工具Mac
- win10系統連線掃描器提示“未檢測到掃描器”如何解決Win10
- win10系統怎麼掃描檔案 win10掃描檔案到電腦Win10
- win10印表機怎麼掃描 win10印表機掃描檔案到電腦Win10
- 什麼是漏洞掃描?漏洞掃描功能有哪些?
- MySQL中的全表掃描和索引樹掃描MySql索引
- Tresorit推出端到端加密文件掃描應用加密
- 目錄掃描
- 埠掃描器
- python掃描埠Python
- DAST 黑盒漏洞掃描器 第四篇:掃描效能AST
- 電腦掃描檔案怎麼掃描 win10電腦掃描檔案方法介紹Win10
- 怎麼用印表機掃描檔案到電腦 印表機怎麼掃描檔案成電子版
- 印表機掃描檔案到電腦怎麼操作 印表機怎麼掃描檔案成電子版
- Laravel部署到阿里雲CentOS/DebianLaravel阿里CentOS
- 全表掃描和全索引掃描繼續(PG-TiDB)索引TiDB
- [20210220]全索引掃描快速索引掃描的邏輯讀.txt索引
- 京東掃描平臺EOS—JS掃描落地與實踐JS
- 掃描行為分析
- 綜合掃描工具
- 淺談掃描線
- P2032 掃描
- Nydus 映象掃描加速
- sonar(二)掃描配置
- direasch目錄掃描
- Zenmap(埠掃描工具)
- .NET Core +Angular 專案 部署到CentOSAngularCentOS
- CentOS6.8安裝配置sonarqube6.4CentOS