sonar架构图

sonar搭建以及jenkins集成sonar_第1张图片
sonar搭建以及jenkins集成sonar_第2张图片

Requirements

具体需求
You can set them dynamically for the current session by running the following commands as root:
我偷懒,将下面内容添加到了/etc/bashrc

sysctl -w vm.max_map_count=262144
sysctl -w fs.file-max=65536
ulimit -n 65536
ulimit -u 2048

新建一个文件 /etc/sysctl.d/99-sonarqube.conf

sonarqube   -   nofile   65536
sonarqube   -   nproc    2048

sysctl -p 使其生效
创建一个sonarqube用户,下面我们会用这个用户进行启动sonarqube,默认是不会让root用户启动程序的。

useradd sonarqube
passwd sonarqube

database:mysql

假设已经有MySQL,在mysql里创建一个sonar数据库即可,格式是UTF-8开头的。

sonar server

下载sonar

wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.7.3.zip
unzip sonarqube-6.7.3.zip
mv sonarqube-6.7.3 /data
ln -s /data/sonarqube-6.7.3 /etc/sonarqube

更改配置文件

[root@tools-test-jenkins ~]#  grep -Ev "^$|^[#;]"   /etc/sonarqube/conf/sonar.properties 

sonar.jdbc.username=rootxxx
sonar.jdbc.password=Rooxxxx

sonar.jdbc.url=jdbc:mysql://192.168.xx.xx:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

以sonar用户运行

/etc/sonarqube/bin/linux-x86-64/sonar.sh start

如果运行出错,请到/etc/sonarqube/logs目录下查看相关日志

登陆web

生成令牌,准备贴到jenkins
sonar搭建以及jenkins集成sonar_第3张图片

关闭scm

sonar搭建以及jenkins集成sonar_第4张图片

jenkins安装sonar集成

sonar搭建以及jenkins集成sonar_第5张图片
sonar搭建以及jenkins集成sonar_第6张图片
sonar搭建以及jenkins集成sonar_第7张图片
sonar搭建以及jenkins集成sonar_第8张图片
sonar搭建以及jenkins集成sonar_第9张图片

#key和name保持一致且在sonar下唯一
sonar.projectKey=$JOB_NAME
sonar.projectName=$JOB_NAME
#工程版本
sonar.projectVersion=1.0  
#源代码目录
sonar.sources=$WORKSPACE
#分析的语言 
sonar.language=java
#编码
#sonar.sourceEncoding=UTF-8
sonar.java.binaries=$WORKSPACE

sonar搭建以及jenkins集成sonar_第10张图片

提示:sonar可以市场在线下载中文语言包Chinese Pack