#:sonarqube下载地址,我们安装6.7  高版本已经不支持MySQL和Mariadb(最小3G内存)

https://www.sonarqube.org/downloads/

#:安装文档

https://docs.sonarqube.org/6.7/Requirements.html

#;根据文档,先修改内核参数
root@ubuntu:/usr/local/src# vim /etc/sysctl.conf
vm.max_map_count=262144
fs.file-max=65536
root@ubuntu:/usr/local/src# sysctl -p #:修改文件数
root@ubuntu:/usr/local/src# ulimit -n 65536
root@ubuntu:/usr/local/src# ulimit -u 2048
root@ubuntu:/usr/local/src# vim /etc/security/limits.conf
sonarqube - nofile 65536
sonarqube - nproc 2048 #:创建用户
root@ubuntu:/usr/local/src# useradd -m -s /bin/bash sonarqube #:安装数据库(5.6或5.7)
root@ubuntu:/usr/local/src# apt install mysql-server mysql-client #:修改监听地址
root@ubuntu:/usr/local/src# vim /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 0.0.0.0 #:准备数据库
mysql> create database sonar default character set utf8 collate utf8_general_ci;
Query OK, 1 row affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON sonar.* TO 'sonar'@'%' IDENTIFIED BY '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec) #:测试一下
root@ubuntu:/usr/local/src/jdk1.8.0_191# mysql -usonar -h192.168.6.105 -p123456 #:下载sonarqube,并解压
root@ubuntu:/usr/local/src# unzip sonarqube-6.7.7.zip
root@ubuntu:/usr/local/src# ln -sv /usr/local/src/sonarqube-6.7.7 /usr/local/sonarqube #:修改目录的属主属组
root@ubuntu:/usr/local/src# chown -R sonarqube.sonarqube /usr/local/sonarqube /usr/local/src/sonarqube-6.7.7 #:切换到普通用户配置
root@ubuntu:/usr/local/src# su - sonarqube
#:修改配置文件
sonarqube@ubuntu:~$ cd /usr/local/sonarqube
sonarqube@ubuntu:/usr/local/sonarqube$ vim conf/sonar.properties
sonar.jdbc.username=sonar
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:mysql://192.168.6.105:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.maxActive=60
sonar.jdbc.maxIdle=5 #:最大空闲
sonar.jdbc.minIdle=2 #:最小空闲
sonar.jdbc.maxWait=5000
sonar.web.host=0.0.0.0
sonar.web.port=9000 #:如果和PHP装一起,记得改端口 #:启动服务
sonarqube@ubuntu:/usr/local/sonarqube$ ./bin/linux-x86-64/sonar.sh start #:看日志
sonarqube@ubuntu:/usr/local/sonarqube$ tail -f logs/*.log
2019.10.04 13:02:25 INFO app[][o.s.a.SchedulerImpl] Process[ce] is up
2019.10.04 13:02:25 INFO app[][o.s.a.SchedulerImpl] SonarQube is up #:必须能看到这个才算启动成功

#:登录(账号密码都是admin)选跳过torken

#:修改中文

#:如果安装很慢

#:将插件放到此目录,并修改权限

#:重启服务

root@ubuntu:/usr/local/sonarqube# ./bin/linux-x86-64/sonar.sh restart

#:在jenkins服务器配置扫描器

#:解压并做链接
root@ubuntu:/usr/local/src# unzip sonar-scanner-cli-4.0.0.1744-linux.zip
root@ubuntu:/usr/local/src# ln -sv /usr/local/src/sonar-scanner-4.0.0.1744-linux /usr/local/sonar-scanner #:修改配置文件,指向sonar server 的地址
root@ubuntu:/usr/local/src# cd /usr/local/sonar-scanner
root@ubuntu:/usr/local/sonar-scanner# vim conf/sonar-scanner.properties
sonar.host.url=http://192.168.6.105:9000 #:下载官方给的案例,测试一下
#:解压
root@ubuntu:/opt# unzip sonar-examples-master.zip
#:进到此目录
root@ubuntu:/opt/sonar-examples-master/projects/languages# cd /opt/sonar-examples-master/projects/languages

#:想测试那个就进到哪个目录

#:都明白以后再此目录下执行sonar-scanner命令

#:扫描java以来很多,根据提示解决

#:我后来扫描的是python的,扫描完,在web端就可以看到了

#:sonarqube结合jenkins(第一种办法)

#:创建一个Python文件(故意写错)
root@ubuntu:/opt/web3# vim app/index.py
#!/usr/bin/env python
print "Hello,word" #:在创建检测时需要的那个文件
root@ubuntu:/opt/web3# vim sonar-project.properties
# Required metadata
sonar.projectKey=linux37-test:v1
sonar.projectName=linux37-test:v1
sonar.projectVersion=1.0:v1

# Comma-separated paths to directories with sources (required)
sonar.sources=./

# Language
sonar.language=py

# Encoding of the source files
sonar.sourceEncoding=UTF-8 #;提交到仓库
root@ubuntu:/opt/web3/app# git add ./*
root@ubuntu:/opt/web3/app# git commit -m "v8"
[master 596a068] v8
2 files changed, 16 insertions(+)
create mode 100644 app/index.py
create mode 100644 app/sonar-project.propertie
root@ubuntu:/opt/web3/app# git push

#:在web端结合job配置

jenkins结合sonarqube (第二种办法)

#:先在jenkins安装sonarqube Scanner插件

#:配置sonarqube

#:配置扫描器

#:在jenkins的项目中配置那个文件

#:点击构建测试一下

jenkins的sonarqube之代码检测的两种方法的更多相关文章

  1. angularjs中向html页面添加内容节点元素代码段的两种方法

    第一种方式:原生JS向html页面添加内容节点元素代码段: <!DOCTYPE html> <html> <head> <meta charset=" ...

  2. C#实现Dll(OCX)控件自动注册的两种方法 网上找的 然后 自己试了试 还是可以用的

    尽管MS为我们提供了丰富的.net framework库,我们的程序C#开发带来了极大的便利,但是有时候,一些特定功能的控件库还是需要由第三方提供或是自己编写.当需要用到Dll引用的时候,我们通常会通 ...

  3. C#实现Dll(OCX)控件自动注册的两种方法

    尽管MS为我们提供了丰富的.net framework库,我们的程序C#开发带来了极大的便利,但是有时候,一些特定功能的控件库还是需要由第三方提供或是自己编写.当需要用到Dll引用的时候,我们通常会通 ...

  4. C#自动实现Dll(OCX)控件注册的两种方法

    尽管MS为我们提供了丰富的.net framework库,我们的程序C#开发带来了极大的便利,但是有时候,一些特定功能的控件库还是需要由第三方提供或是自己编写.当需要用到Dll引用的时候,我们通常会通 ...

  5. 在 k8s 中的 jenkins 集成 sonarqube 实现代码质量检查

    不乱于心,不困于情,不畏将来,不念过往,如此安好 --<不宠无惊过一生>丰子恺 概述 关于在 k8s 中安装 jenkins 和 sornarqube 可以查看下面的文章: 在 k8s 中 ...

  6. Jenkins持续集成企业实战系列之两种网站部署的流程-----01

    注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.    最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...

  7. 【代码笔记】iOS-判断中英文混合的字符长度的两种方法

    一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. ...

  8. 在PHP代码中处理JSON 格式的字符串的两种方法:

    总结: 在PHP代码中处理JSON 格式的字符串的两种方法: 方法一: $json= '[{"id":"1","name":"\u ...

  9. 代码操作Word时,目录自动更新的两种方法

    最近的项目中有一个功能点为:根据分析数据库并生成报告.不过不是大数据.数据挖掘之类,报告的内容.组织方式都是事先固定下来的.实现的方式为,在普通word文档中插入书签制成模板,然后程序使用OpenXM ...

随机推荐

  1. ShardedJedisPipeline 源码分析

    一.什么是pipeline?什么是ShardedJedis? 由于pipeline和ShardedJedis的介绍和源码分析在网上已经有了,本文就不再赘述,直接给出链接: pipeline的介绍: h ...

  2. vue引入elementUI(第三方样式库)

    前置: 在已经安装好vue的前提下 ,没有安装vue参考: vue搭建教程 elementUI官网组件使用文档: elementUI使用文档 1.终端直接运行安装命令 npm i element-ui ...

  3. Spring Boot程序中@JsonIgnoreProperties与@JsonIgnore基本使用

    问题由来: springboot项目中定义了很多类,我们在rest返回中直接返回或者在返回对象中使用这些类,spring已经使用jackson自动帮我们完成这些的to json.但是有时候自动转的js ...

  4. CentOS7 hadoop3.3.1安装(单机分布式、伪分布式、分布式)

    @ 目录 前言 预先设置 修改主机名 关闭防火墙 创建hadoop用户 SSH安装免密登陆 单机免密登陆--linux配置ssh免密登录 linux环境配置Java变量 配置Java环境变量 安装Ha ...

  5. Python命令行参数及文件读出写入

    看完了柯老板的个人编程作业,虽然是评测组不用做此次作业,但还是想对本次作业涉及到利用Python命令行参数以及进行文件读出写入操作做一个简单的总结.(个人编程作业还是想自己能敲一敲,毕竟我的码力还是小 ...

  6. 菜鸡的Java笔记 第十六 - java 引用传递

    referenceDelivery    引用传递是整个java 的精髓,也是所有初学者最难学的地方        引用的本质:同一块堆内存可以被不同的栈内存所指向    下面通过三道程序来进行引用传 ...

  7. UDP端口检查告警SHELL脚本(企业微信版机器人版)

    脚本准备 0Batch_Check.sh 1port_check.sh 2wechat_bot_alert.sh CheckList CheckList #支持大/小写 10.1.1.5 Udp 53 ...

  8. linux auditd审计的简单使用和理解

    Linux审计主要用于查看系统改动的信息,如系统密码修改,用户的新建,主要用于保障系统的安全,下面简单介绍审计如何使用 1启动审计进程: [tommy@xie-testlog]$ sudo servi ...

  9. [loj3528]位移寄存器

    当$s=0$时(求最小值): 若$x_{0},x_{1},...,x_{n-1}$和$y_{0},y_{1},...,y_{n-1}$像题中所给的方式存储在$r[0][0..nk-1]$和$r[1][ ...

  10. CODING 代码资产安全系列之 —— 构建全链路安全能力,守护代码资产安全

    本文作者:王振威 - CODING 研发总监 CODING 创始团队成员之一,多年系统软件开发经验,擅长 Linux,Golang,Java,Ruby,Docker 等技术领域.近两年来一直在 COD ...