SonnarQube+SonarScanner+Jenkins环境搭建

1.环境及工具准备

Linux 64位

Mysql 5.6

sonarqube 6.7.5

sonar-scanner-3.2.0.1227-linux

2.mysql 创建user,并授权

> grant all privileges on sonarqube.* to sonar@‘%' IDENTIFIED BY 'password';#密码

> CREATE USER 'sonar’@'%' IDENTIFIED BY 'password';#密码

> GRANT all privileges ON sonarqube.* TO sonar’@‘%' IDENTIFIED BY 'password';#密码

> flush privileges;

 

3.Sonarqube环境搭建

3.1将sonarqube安装到/usr/local,建立软连接,方便后期操作(ln -s /usr/local/sonarqube-6.7.5/ sonarqube)

ln -s /usr/local/sonarqube-6.7.5/ sonarqube

3.2Sonarqube配置修改

vim /usr/local/sonarqube/conf/sonar.properties

取消对应行数的注释,填写对应的信息。

把数据库ip,port,数据库名依次填写到sonar.jdbc.url后面

SonnarQube+SonarScanner+Jenkins环境搭建_第1张图片

设置sonar的地址和端口号如下

SonnarQube+SonarScanner+Jenkins环境搭建_第2张图片

3.3启动/停止服务(用远程用户)

/usr/local/sonarqube/bin/linux-x86-64

./sonar.sh start

./sonar.sh stop

如果有问题查看日志

/usr/local/sonarqube/logs/sonar.log

/usr/local/sonarqube/logs/es.log(这里报错比较多)

注:只能用远程用户来启动,不能用root用户

如何新建远程用户:useradd -g 新建的组 新建的用户

password 新建的用户 #设置密码

3.4启动成功的话可以直接登录(账号和密码默认都是admin)

http://192.168.1.182:9001

3.5安装中文插件

直接在配置,应用市场搜chinese pack下载好,再重启就可以了。或者用谷歌浏览器的话也可以直接右键翻译。

SonnarQube+SonarScanner+Jenkins环境搭建_第3张图片

4. SonarScanner安装

4.1 SonarQube Scanner也安装到/usr/local,建立软连接,方便后期操作(ln -s /usr/local/sonar-scanner-3.2.0.1227-linux/ sonar-scanner)

ln -s /usr/local/sonar-scanner-3.2.0.1227-linux/ sonar-scanner

4.2 sonar-scanner中配置修改:

vim /usr/local/sonar-scanner/conf/sonar-scanner.properties

sonar.host.url=http://your_host:your_port/[your_prefix]

SonnarQube+SonarScanner+Jenkins环境搭建_第4张图片

4.3添加环境变量

export PATH=$PATH:/usr/local/sonar-scanner/bin

查看服务是否ok

sonar-scanner -h

4.4.在project中使用

新建一个sonar-project.properties文件

SonnarQube+SonarScanner+Jenkins环境搭建_第5张图片

内容如下:

sonar.projectKey=
sonar.projectName=
sonar.projectVersion=1.0
sonar.sources=
sonar.language=java
sonar.sourceEncoding=UTF-8
sonar.host.url=
sonar.java.binaries=

SonnarQube+SonarScanner+Jenkins环境搭建_第6张图片

4.5用root用户来启动分析,如果用远程用户会报错:

sonar-scanner -X

5.执行完成后,点开网址,查看报告

SonnarQube+SonarScanner+Jenkins环境搭建_第7张图片

SonnarQube+SonarScanner+Jenkins环境搭建_第8张图片

 

6.jenkins+sonnar-scanner

6.1安装插件

6.2进行配置,让jenkins和sonar结合在一起

SonnarQube+SonarScanner+Jenkins环境搭建_第9张图片

SonnarQube+SonarScanner+Jenkins环境搭建_第10张图片

 

6.3新建一个项目

SonnarQube+SonarScanner+Jenkins环境搭建_第11张图片

6.4进入项目进行配置

SonnarQube+SonarScanner+Jenkins环境搭建_第12张图片

SonnarQube+SonarScanner+Jenkins环境搭建_第13张图片

sonar.projectKey=
sonar.projectName=
sonar.projectVersion=1.0.0
sonar.sources=./
sonar.language=java
sonar.sourceEncoding=UTF-8
sonar.host.url=http://192.168.1.182:9001
sonar.java.binaries=./

 

注:./目录 为/root/.jenkins/workspace/项目名;可以把项目所在路径建立一个软连接,在你的项目路径下,这样新部署的包去扫描的时候不用修改路径。

6.5点击保存,然后就可以立即构建啦,可以查看控制台输出。

SonnarQube+SonarScanner+Jenkins环境搭建_第14张图片

6.6执行成功后点击链接就可以查看对应的分析报告了。

SonnarQube+SonarScanner+Jenkins环境搭建_第15张图片

 

SonnarQube+SonarScanner+Jenkins环境搭建_第16张图片

附录:整个过程中遇到的一些问题

1.启动sonarqube报错

Process exited with exit value [es]: 1

SonnarQube+SonarScanner+Jenkins环境搭建_第17张图片

提示es报错,那么可以到es.log下查看具体的原因

SonnarQube+SonarScanner+Jenkins环境搭建_第18张图片

 

1.max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

vim /etc/security/limits.conf

lqm1 hard nofile 65536

lqm1 soft nofile 65536

这里的lqm1为上面创建的用来启动sonar的用户,修改好之后要切换到lqm1这个用户之后才能生效。 

使用ulimit -Hn指令查看配置是否生效:

ulimit -Hn

2.max number of threads [1024] for user [lqm1] is too low, increase to at least [2048]

同上,

vim /etc/security/limits.conf

lqm1 soft nproc 2048

lqm1 hard nproc 4096

3.max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

这里要增加vm.max_map_count的值

vim /etc/sysctl.conf

vm.max_map_count=262144

sysctl -p

在/etc/sysctl.conf中添加vm.max_map_count=262144后执行sysctl -p使配置生效

 

你可能感兴趣的:(自动化集成测试)