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. Window下安装Nignx并且使用文档

    1.下载nignx http://nginx.org/en/download.html         下载稳定版本,以nginx/Windows-1.12.2为例,直接下载 nginx-1.12.2 ...

  2. 关于Certificate、Provisioning Profile

    Certificate(证书)就是app在打包的时候必须签名,苹果iOS系统在安装app之前会验证Certificate,否则不会通过安装. Provisioning Profile简单来说就是包含A ...

  3. 【每天学一点Linux】快速清除文件内容

    linux几种快速清空文件内容的方法 几种快速清空文件内容的方法: $ : > filename #其中的 : 是一个占位符, 不产生任何输出. $ > filename $ echo “ ...

  4. [HTTP趣谈]origin,referer和host区别

    发起一个ajax请求时,request header里面有三个属性会涉及请求源信息.前端可能用不到这些值,但是,后台业务系统会比较关心它们,场景可能有: 处理跨域请求时,必须判断来源请求方是否合法:  ...

  5. 66-Flutter移动电商实战-会员中心_编写ListTile的通用方法

    1.界面分析 通过下图我们可以拆分成 4 部分,头部.订单标题区域.订单列表区域.ListTitle同用部分. 2.UI编写 2.1.头部 主要用到了圆形头像裁剪组件-ClipOval 顶部头像区域W ...

  6. [Javascript] Working with Static Properties on a Class

    Classes are syntactic sugar over functions and functions are also referred to as "callable" ...

  7. 搭建java环境时,DOS输入java有反应,javac没反应的解决办法。

    2018-11-12 搭java环境踩了许多坑,之前搭环境时在命令台输入java有反应,javac没反应,后来试了很多方法都一样,然后就把java的所有的环境变量都删了,在控制面板里的卸载程序把所有的 ...

  8. 用数据让我们的OKR变得“冷酷”却更有价值

    在外企工作过的朋友大多能感受到数据在工作中的重要性,你要设置一个目标要有明确的数据来衡量,你要汇报工作进展要有清楚的数据来显示进度,你要展示工作成果更是需要有代表性的数据来呈现结果,数据是真真实实的结 ...

  9. [RN] React Native 使用精美图标库react-native-vector-icons

    React Native 使用精美图标库react-native-vector-icons 一.安装依赖 npm install --save react-native-vector-icons // ...

  10. Docker原理及使用

    虚拟化系统: 1. Type-I: 此种虚拟化是Hypervisor直接运行在硬件之上,来创建虚拟机. 2. Type-II: 这种虚拟化类似与VMware Workstations. IPC: 在相 ...