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配置:

 

 

3. Jenkins任务配置

3.1. java任务配置

clean build -x test

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/

报告查看地址:

<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任务不同之处:

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生效

SonarQube + Jenkins代码审查环境安装文档 v1.2的更多相关文章

  1. _00024 尼娜抹微笑伊拉克_云计算ClouderaManager以及CHD5.1.0群集部署安装文档V1.0

    笔者博文:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...

  2. CentOS6.5下安装JDK1.7+MYSQL5.5+TOMCAT7+nginx1.7.5环境安装文档

    ----------------CentOS6.5下安装JDK1.7+MYSQL5.5+TOMCAT7+nginx1.7.5环境安装文档----------------------- [JDK1.7安 ...

  3. 环境安装文档(for Ubuntu)

    这个文档的目标是:各位小伙伴通过这个文档,可以在一台全新的 Ubuntu 电脑上搭建平常开发使用的环境,主要包含 Node.js, git 和 编辑器部分. 这是针对 Ubuntu 系统的安装文档,W ...

  4. OCP 11G 实验环境安装文档 ( RedHat5.5 + Oracle11g )

    RedHat5.5 linux下Oracle11g软件安装 一.配置虚拟机 为了创建和配置虚拟机,你需要添加硬件设备如磁盘和cpu,在你开始安装之前,创建一个windows目录作为存放虚拟机的目录 目 ...

  5. [转] Kubernetes集群安装文档-v1.6版本

    [From] https://www.kubernetes.org.cn/1870.html http://jimmysong.io/kubernetes-handbook

  6. linux centos7 安装虚拟Python环境,pyenv安装文档

    python多版本控制pyenv安装文档 1.在线安装: curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-i ...

  7. Docker相关环境全套安装文档兼小技能

    Docker相关环境全套安装文档兼小技能 以下环境皆为ubuntu16.04,主要安装docker,docker-compose,docker仓库等. Docker安装 参考官方 A: 有源安装 Ub ...

  8. Jenkins构建项目帮助文档

    Jenkins构建项目帮助文档 主要步骤 一.配置jdk 1.1.   下载jdk,安装到自己电脑磁盘的Java目录下(比如:D:\Java\jdk). 1.2.   Jdk环境变量的配置: 1. 鼠 ...

  9. ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档

    ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档 2015-10-21 12:51 525人阅读 评论(0) 收藏 举报  分类: Oracle RA ...

随机推荐

  1. python预课02 time模块,文本进度条示例,数字类型操作,字符串操作

    time模块 概述:time库是Python中处理时间的标准库,包含以下三类函数 时间获取: time(), ctime(), gmtime() 时间格式化: strftime(), strptime ...

  2. 【大数据】HBase环境

    参考资料:https://www.cnblogs.com/frankdeng/p/9310191.html 主节点挂了 HBase服务访问:http://192.168.1.180:16010/mas ...

  3. Async/await promise实现

    An async function can contain an await expression that pauses the execution of the async function an ...

  4. Arduino在串口监视器上输出字母表

    程序会在Arduino IDE的串口监视器上输出一个字母表. 不需要额外电路,但是板子必须通过串口线或USB线连接到电脑. 代码 程序在setup()函数中建立串口连接,然后逐行输出a~z的字母I表, ...

  5. CentOS7配置VIP

    CentOS7 两台做vip飘逸,实现虚拟ip的跳转 两台机器 首先下载ipvsadm 和 keepalived yum -y install ipvsadm keepalived vim /etc/ ...

  6. Numpy | 05 创建数组

    ndarray 数组除了可以使用底层 ndarray 构造器来创建外,也可以通过以下几种方式来创建. 一.numpy.empty numpy.empty 方法用来创建一个指定形状(shape).数据类 ...

  7. timeout/timelimit

    timelimit

  8. 洛谷 P1879 [USACO06NOV]玉米田Corn Fields 题解

    P1879 [USACO06NOV]玉米田Corn Fields 题目描述 Farmer John has purchased a lush new rectangular pasture compo ...

  9. 【luoguP2986】[USACO10MAR]伟大的奶牛聚集Great Cow Gathering

    题目链接 先把\(1\)作为根求每个子树的\(size\),算出把\(1\)作为集会点的代价,不难发现把集会点移动到\(u\)的儿子\(v\)上后的代价为原代价-\(v\)的\(size\)*边权+( ...

  10. linux 所有命令无法使用

    配置nginx时,错误export之后linux 所有命令无法使用 出现这个问题是因为系统的环境变量没有正确配置造成的,造成这个原因有很多,比如系统升级,比如不正当操作等导致环境变量被覆盖修改,解决的 ...