jenkins的sonarqube之代碼檢測的兩種方法


#:sonarqube下載地址,我們安裝6.7  高版本已經不支持MySQL和Mariadb(最小3G內存)

https://www.sonarqube.org/downloads/

#:安裝文檔

https://docs.sonarqube.org/6.7/Requirements.html

#;根據文檔,先修改內核參數
root@ubuntu:/usr/local/src# vim /etc/sysctl.conf
vm.max_map_count=262144
fs.file-max=65536
root@ubuntu:/usr/local/src# sysctl -p

#:修改文件數
root@ubuntu:/usr/local/src# ulimit -n 65536
root@ubuntu:/usr/local/src# ulimit -u 2048
root@ubuntu:/usr/local/src# vim /etc/security/limits.conf
sonarqube   -   nofile   65536
sonarqube   -   nproc    2048

#:創建用戶
root@ubuntu:/usr/local/src# useradd -m -s /bin/bash sonarqube


#:安裝數據庫(5.6或5.7)
root@ubuntu:/usr/local/src# apt install mysql-server mysql-client

#:修改監聽地址
root@ubuntu:/usr/local/src# vim /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address            = 0.0.0.0

#:准備數據庫
mysql> create database sonar default character set utf8 collate utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON sonar.* TO 'sonar'@'%' IDENTIFIED BY '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)

#:測試一下
root@ubuntu:/usr/local/src/jdk1.8.0_191# mysql -usonar -h192.168.6.105 -p123456

#:下載sonarqube,並解壓
root@ubuntu:/usr/local/src# unzip sonarqube-6.7.7.zip
root@ubuntu:/usr/local/src# ln -sv /usr/local/src/sonarqube-6.7.7 /usr/local/sonarqube

#:修改目錄的屬主屬組
root@ubuntu:/usr/local/src# chown -R sonarqube.sonarqube /usr/local/sonarqube /usr/local/src/sonarqube-6.7.7

#:切換到普通用戶配置
root@ubuntu:/usr/local/src# su - sonarqube
#:修改配置文件
sonarqube@ubuntu:~$ cd /usr/local/sonarqube
sonarqube@ubuntu:/usr/local/sonarqube$ vim conf/sonar.properties
sonar.jdbc.username=sonar
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:mysql://192.168.6.105:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.maxActive=60
sonar.jdbc.maxIdle=5   #:最大空閑
sonar.jdbc.minIdle=2    #:最小空閑
sonar.jdbc.maxWait=5000
sonar.web.host=0.0.0.0
sonar.web.port=9000  #:如果和PHP裝一起,記得改端口

#:啟動服務
sonarqube@ubuntu:/usr/local/sonarqube$ ./bin/linux-x86-64/sonar.sh start

#:看日志
sonarqube@ubuntu:/usr/local/sonarqube$ tail -f logs/*.log
2019.10.04 13:02:25 INFO  app[][o.s.a.SchedulerImpl] Process[ce] is up
2019.10.04 13:02:25 INFO  app[][o.s.a.SchedulerImpl] SonarQube is up  #:必須能看到這個才算啟動成功

 

#:登錄(賬號密碼都是admin)選跳過torken

#:修改中文

 

 

#:如果安裝很慢

 

 

 

 #:將插件放到此目錄,並修改權限

 

 

 

 #:重啟服務

root@ubuntu:/usr/local/sonarqube# ./bin/linux-x86-64/sonar.sh restart

 

 

#:在jenkins服務器配置掃描器

#:解壓並做鏈接
root@ubuntu:/usr/local/src# unzip sonar-scanner-cli-4.0.0.1744-linux.zip
root@ubuntu:/usr/local/src# ln -sv /usr/local/src/sonar-scanner-4.0.0.1744-linux /usr/local/sonar-scanner

#:修改配置文件,指向sonar server 的地址
root@ubuntu:/usr/local/src# cd /usr/local/sonar-scanner
root@ubuntu:/usr/local/sonar-scanner# vim conf/sonar-scanner.properties
sonar.host.url=http://192.168.6.105:9000


#:下載官方給的案例,測試一下
#:解壓
root@ubuntu:/opt# unzip sonar-examples-master.zip
#:進到此目錄
root@ubuntu:/opt/sonar-examples-master/projects/languages# cd /opt/sonar-examples-master/projects/languages

#:想測試那個就進到哪個目錄

 

 

 

 

 

 

#:都明白以后再此目錄下執行sonar-scanner命令

 

 #:掃描java以來很多,根據提示解決

#:我后來掃描的是python的,掃描完,在web端就可以看到了

 

 

#:sonarqube結合jenkins(第一種辦法)

#:創建一個Python文件(故意寫錯)
root@ubuntu:/opt/web3# vim app/index.py
#!/usr/bin/env python
print "Hello,word"

#:在創建檢測時需要的那個文件
root@ubuntu:/opt/web3# vim sonar-project.properties
# Required metadata
sonar.projectKey=linux37-test:v1
sonar.projectName=linux37-test:v1
sonar.projectVersion=1.0:v1

# Comma-separated paths to directories with sources (required)
sonar.sources=./

# Language
sonar.language=py

# Encoding of the source files
sonar.sourceEncoding=UTF-8 #;提交到倉庫 root@ubuntu:
/opt/web3/app# git add ./* root@ubuntu:/opt/web3/app# git commit -m "v8" [master 596a068] v8 2 files changed, 16 insertions(+) create mode 100644 app/index.py create mode 100644 app/sonar-project.propertie root@ubuntu:/opt/web3/app# git push

#:在web端結合job配置

 

 

 

 

jenkins結合sonarqube (第二種辦法)

#:先在jenkins安裝sonarqube Scanner插件

#:配置sonarqube

 

 #:配置掃描器

 

 

 

 #:在jenkins的項目中配置那個文件

 

 

 

 

 

 

 #:點擊構建測試一下

 


免責聲明!

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



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