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

#:修改中文

jenkins的sonarqube之代码检测的两种方法_第1张图片jenkins的sonarqube之代码检测的两种方法_第2张图片jenkins的sonarqube之代码检测的两种方法_第3张图片jenkins的sonarqube之代码检测的两种方法_第4张图片

 

 

#:如果安装很慢

 

 jenkins的sonarqube之代码检测的两种方法_第5张图片

 

 #:将插件放到此目录,并修改权限

 

 

 

 #:重启服务

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

#:想测试那个就进到哪个目录

jenkins的sonarqube之代码检测的两种方法_第6张图片

 

 jenkins的sonarqube之代码检测的两种方法_第7张图片

 

 jenkins的sonarqube之代码检测的两种方法_第8张图片

 

jenkins的sonarqube之代码检测的两种方法_第9张图片

 

#:都明白以后再此目录下执行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之代码检测的两种方法_第10张图片

 

 

 

 

jenkins结合sonarqube (第二种办法)

#:先在jenkins安装sonarqube Scanner插件

#:配置sonarqube

jenkins的sonarqube之代码检测的两种方法_第11张图片jenkins的sonarqube之代码检测的两种方法_第12张图片jenkins的sonarqube之代码检测的两种方法_第13张图片

 

 #:配置扫描器

jenkins的sonarqube之代码检测的两种方法_第14张图片

 

 jenkins的sonarqube之代码检测的两种方法_第15张图片

 

 #:在jenkins的项目中配置那个文件

 jenkins的sonarqube之代码检测的两种方法_第16张图片

 

 jenkins的sonarqube之代码检测的两种方法_第17张图片

 

 jenkins的sonarqube之代码检测的两种方法_第18张图片

 

 #:点击构建测试一下

 

你可能感兴趣的:(jenkins的sonarqube之代码检测的两种方法)