SonarQube + Jenkins代码审查环境安装文档 v1.2

时间:2022-11-25 08:56:21

1. 安装SonarQube

1.1. 下载

下载地址:https://www.sonarqube.org/downloads/

本次使用安装包为:sonarqube-7.4.zip

需要提前准备jdk1.8、mysql-5.6。

1.2. 安装

1、解压安装包

2、准备数据库(mysql)

a)新建数据库用户和数据库

建库sql (sonar/sonar)

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

CREATE USER 'sonar' IDENTIFIED BY 'sonar';

GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';

GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';

FLUSH PRIVILEGES;

b)修改数据库配置文件conf/sonar.properties :

sonar.jdbc.username=sonar

sonar.jdbc.password=sonar

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

1.3. 启动

新建sonar用户;

启动mysql数据库;

然后执行如下命令:

su sonar

cd /data/sonarqube-7.4/bin/linux-x86-64

./sonar.sh start

注意不要使用root启动。sonarqube自带了es,所有不能使用root权限。

1.4. 访问

默认访问地址:http://10.15.1.28:9000

admin/admin

2. 安装配置Jenkins

2.1. Jenkins安装

2.2. 安装gradle

下载安装包解压,配置环境变量

export GRADLE_HOME=/data/gradle-2.8

export PATH=$GRADLE_HOME/bin:$PATH

本次使用2.8版本是项目需要。

2.3. 安装Jenkins插件

  1. SonarQube Scanner for Jenkins
  2. Folders Plugin
  3. Git client plugin
  4. Git plugin
  5. Python Plugin

2.4. 工具配置

1、SonarQube Scanner配置:

 SonarQube + Jenkins代码审查环境安装文档 v1.2

 

3. Jenkins任务配置

3.1. java任务配置

SonarQube + Jenkins代码审查环境安装文档 v1.2

SonarQube + Jenkins代码审查环境安装文档 v1.2

SonarQube + Jenkins代码审查环境安装文档 v1.2

clean build -x test

SonarQube + Jenkins代码审查环境安装文档 v1.2

sonar.projectKey=$JOB_BASE_NAME

sonar.projectName=$JOB_BASE_NAME

sonar.projectVersion=1.0.0

sonar.language=java

sonar.java.source=1.8

#sonar.sources=src

sonar.sources=${WORKSPACE}/src/main/java

sonar.sourceEncoding=UTF-8

sonar.java.binaries=${WORKSPACE}/build/

SonarQube + Jenkins代码审查环境安装文档 v1.2

报告查看地址:

<a href="http://10.15.1.28:9000/dashboard?id=$JOB_BASE_NAME">http://10.15.1.28:9000/dashboard?id=$JOB_BASE_NAME</a><br>

(本邮件由系统自动发出)

3.2. python任务

只列出与java任务不同之处:

SonarQube + Jenkins代码审查环境安装文档 v1.2

sonar.projectKey=$JOB_BASE_NAME

sonar.projectName=$JOB_BASE_NAME

sonar.projectVersion=1.0.0

sonar.sources=.

sonar.sourceEncoding=UTF-8

4. 附录

4.1. elasticsearch启动错误

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

每个进程最大同时打开文件数太小,可通过下面2个命令查看当前数量

ulimit -Hn

ulimit -Sn

修改/etc/security/limits.conf文件,添加如下配置:

sonar    hard    nofile       65536

sonar    soft    nofile       65536

root    hard    nofile       65536

root    soft    nofile       65536

重新登陆即生效。

临时修改命令如下:(重启后失效)

ulimit -n 65535

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

修改/etc/sysctl.conf文件,添加配置

vm.max_map_count=262144

执行命令sysctl -p生效