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应用-输入三个数,输出其最大值

    """ 输入三个数,输出其最大值 Author:罗万财 Date:2017-7-6 """ a=int(input('a=')) b=int ...

  2. Spring Boot 缓存 知识点

    每次调用需要缓存功能的方法时,Spring会检查指定参数的指定的目标方法是否已经被调用过:如果有就直接从缓存中获取方法调用后的结果,如果没有就调用方法并缓存结果后返回给用户.下次调用直接从缓存中获取. ...

  3. Nginx——跨域造成的504问题

    前言 前台域名和后台域名是两个不同不同的二级域名,访问的时候造成了跨域,出现了504错误 解决 修改Nginx配置,将超时的时间设置为1200秒 keepalive_timeout 1200; pro ...

  4. python基础语法2 流程控制 if,while,for

    if语句: 什么是if? 主要是用于判断事物得对错,真假,是否可行 语法结构: python是通过缩进来决定代码的归属 pep8: 缩进一定是四个空格 tab键 if 条件: 代码块 .... ... ...

  5. 电商平台+keepalived高可用

    192.168.189.131 电商平台 192.168.189.129 MySQL主192.168.189.130 MySQL备192.168.189.181 VIP 配置MySQL为互为主从并结合 ...

  6. 08_MSTP(数通华为)

    1. 网络拓扑 2. SW1配置[SW1]vlan batch 10 20 30 40[SW1]stp mode mstp 进入MSTP配置视图,MSTP域名为huawei,同时配置VLAN到实例的映 ...

  7. 使用solr将CSV/XML/DB/JSON数据发布为Rest Service

    Download http://lucene.apache.org/solr/downloads.html Apache Solr入门基础——Windows下安装与配置 https://blog.cs ...

  8. 用OKR让你的员工嗨起来

    在<OKR工作法>这本书中,作者主要用了叙述故事的方式来讲解了在OKR实践的整个过程,这样的讲解方式让整本书显得生动有趣,却又处处是引人深思的道理.比如说TeaBee在第一次OKR实践失败 ...

  9. luogu_4287:双倍回文

    洛谷4287:双倍回文 前言: 参考博文: https://www.cnblogs.com/Vscoder/p/10498625.html 题目描述: 记字符串\(w\)的倒置为\(w^R\).例如\ ...

  10. JS的ES6的class

    1.类的创建: 定义类 类的构造函数 类的静态方法 类的一般属性和方法 //定义类 class Person{ // 类的静态方法,相当于Person.test = function(){consol ...