#: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的項目中配置那個文件
#:點擊構建測試一下