jenkins的sonarqube之代码检测的两种方法
#: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之代码检测的两种方法的更多相关文章
- angularjs中向html页面添加内容节点元素代码段的两种方法
第一种方式:原生JS向html页面添加内容节点元素代码段: <!DOCTYPE html> <html> <head> <meta charset=" ...
- C#实现Dll(OCX)控件自动注册的两种方法 网上找的 然后 自己试了试 还是可以用的
尽管MS为我们提供了丰富的.net framework库,我们的程序C#开发带来了极大的便利,但是有时候,一些特定功能的控件库还是需要由第三方提供或是自己编写.当需要用到Dll引用的时候,我们通常会通 ...
- C#实现Dll(OCX)控件自动注册的两种方法
尽管MS为我们提供了丰富的.net framework库,我们的程序C#开发带来了极大的便利,但是有时候,一些特定功能的控件库还是需要由第三方提供或是自己编写.当需要用到Dll引用的时候,我们通常会通 ...
- C#自动实现Dll(OCX)控件注册的两种方法
尽管MS为我们提供了丰富的.net framework库,我们的程序C#开发带来了极大的便利,但是有时候,一些特定功能的控件库还是需要由第三方提供或是自己编写.当需要用到Dll引用的时候,我们通常会通 ...
- 在 k8s 中的 jenkins 集成 sonarqube 实现代码质量检查
不乱于心,不困于情,不畏将来,不念过往,如此安好 --<不宠无惊过一生>丰子恺 概述 关于在 k8s 中安装 jenkins 和 sornarqube 可以查看下面的文章: 在 k8s 中 ...
- Jenkins持续集成企业实战系列之两种网站部署的流程-----01
注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. 最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...
- 【代码笔记】iOS-判断中英文混合的字符长度的两种方法
一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. ...
- 在PHP代码中处理JSON 格式的字符串的两种方法:
总结: 在PHP代码中处理JSON 格式的字符串的两种方法: 方法一: $json= '[{"id":"1","name":"\u ...
- 代码操作Word时,目录自动更新的两种方法
最近的项目中有一个功能点为:根据分析数据库并生成报告.不过不是大数据.数据挖掘之类,报告的内容.组织方式都是事先固定下来的.实现的方式为,在普通word文档中插入书签制成模板,然后程序使用OpenXM ...
随机推荐
- java读取大文件内容到Elasticsearch分析(手把手教你java处理超大csv文件)
现在需要快算分析一个2g的csv文件: 基于掌握的知识,使用java按行读取文件,批量导入数据到es, 然后利用es强大的聚合能力分析数据,2个小时搞定! package com.example.de ...
- RocketMQ源码详解 | Consumer篇 · 其一:消息的 Pull 和 Push
概述 当消息被存储后,消费者就会将其消费. 这句话简要的概述了一条消息的最总去向,也引出了本文将讨论的问题: 消息什么时候才对被消费者可见? 是在 page cache 中吗?还是在落盘后?还是像 K ...
- Vue3学习(十一)之 table表格组件的使用
一.前言 大约有两周没学习更文,不是懒,而是没心情,相亲路屡战屡败,着实很影响心情. 我想这世上对我而言,最难的事,莫过于恋爱结婚了,再一次经历了见光死的高光时刻. 二.又见Ant Design Vu ...
- Serverless 下的微服务实践
作者:弈川 审核&校对:筱姜.潇航 编辑&排版:雯燕 微服务架构介绍 微服务架构诞生背景 在互联网早期即 Web 1.0 的时代,当时流行的是单体应用,研发团队比较小,主要是外部网页, ...
- Maven 依赖调解源码解析(四):传递依赖,第一声明者优先
本文是系列文章<Maven 源码解析:依赖调解是如何实现的?>第四篇,主要介绍依赖调解的第二条原则:传递依赖,第一声明者优先.请按顺序阅读其他系列文章,系列文章总目录参见:https:// ...
- SpringCloud升级之路2020.0.x版-39. 改造 resilience4j 粘合 WebClient
本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 要想实现我们上一节中提到的: 需要在重试以及断路中加一些日志,便于日后的优化 需要定义重试 ...
- springboot静态工具类bean的注入
工具类中调用数据.但是由于工具类方法一般都写成static,所以直接注入就存在问题. 所以写成了这样: package com.rm.framework.core; import org.spring ...
- pechkin 导出https路径的图片
使用Pechkin.Synchronized可以方便导出html为pdf,但是对于https路径的图片并不支持,仅支持http路径下的图片 解决方案:图片使用本地绝对路径(相对于服务器) 以下是我获取 ...
- List集合与Set集合(ArrayList,LinkedList,Vector,HashSet,LinkedHashSet,可变参数)
List集合介绍及常用方法 import java.util.ArrayList; import java.util.Iterator; import java.util.List; /* java. ...
- 洛谷 P5071 - [Ynoi2015] 此时此刻的光辉(莫队)
洛谷题面传送门 一道其实算得上常规的题,写这篇题解是为了总结一些数论中轻微(?)优化复杂度的技巧. 首先感性理解可以发现该问题强于区间数颜色问题,无法用常用的 log 数据结构维护,因此考虑分块/莫队 ...