jenkins的sonarqube之代码检测的两种方法

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

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

#:安装文档

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

#;根据文档,先修改内核参数
[email protected]:/usr/local/src# vim /etc/sysctl.conf
vm.max_map_count=262144
fs.file-max=65536
[email protected]:/usr/local/src# sysctl -p

#:修改文件数
[email protected]:/usr/local/src# ulimit -n 65536
[email protected]:/usr/local/src# ulimit -u 2048
[email protected]:/usr/local/src# vim /etc/security/limits.conf
sonarqube   -   nofile   65536
sonarqube   -   nproc    2048

#:创建用户
[email protected]:/usr/local/src# useradd -m -s /bin/bash sonarqube

#:安装数据库(5.6或5.7)
[email protected]:/usr/local/src# apt install mysql-server mysql-client

#:修改监听地址
[email protected]:/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)

#:测试一下
[email protected]:/usr/local/src/jdk1.8.0_191# mysql -usonar -h192.168.6.105 -p123456

#:下载sonarqube,并解压
[email protected]:/usr/local/src# unzip sonarqube-6.7.7.zip
[email protected]:/usr/local/src# ln -sv /usr/local/src/sonarqube-6.7.7 /usr/local/sonarqube

#:修改目录的属主属组
[email protected]:/usr/local/src# chown -R sonarqube.sonarqube /usr/local/sonarqube /usr/local/src/sonarqube-6.7.7

#:切换到普通用户配置
[email protected]:/usr/local/src# su - sonarqube
#:修改配置文件
[email protected]:~$ cd /usr/local/sonarqube
[email protected]:/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装一起,记得改端口

#:启动服务
[email protected]:/usr/local/sonarqube$ ./bin/linux-x86-64/sonar.sh start

#:看日志
[email protected]:/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

#:修改中文

#:如果安装很慢

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

#:重启服务

[email protected]:/usr/local/sonarqube# ./bin/linux-x86-64/sonar.sh restart

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

#:解压并做链接
[email protected]:/usr/local/src# unzip sonar-scanner-cli-4.0.0.1744-linux.zip
[email protected]:/usr/local/src# ln -sv /usr/local/src/sonar-scanner-4.0.0.1744-linux /usr/local/sonar-scanner

#:修改配置文件,指向sonar server 的地址
[email protected]:/usr/local/src# cd /usr/local/sonar-scanner
[email protected]:/usr/local/sonar-scanner# vim conf/sonar-scanner.properties
sonar.host.url=http://192.168.6.105:9000

#:下载官方给的案例,测试一下
#:解压
[email protected]:/opt# unzip sonar-examples-master.zip
#:进到此目录
[email protected]:/opt/sonar-examples-master/projects/languages# cd /opt/sonar-examples-master/projects/languages

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

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

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

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

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

#:创建一个Python文件(故意写错)
[email protected]:/opt/web3# vim app/index.py
#!/usr/bin/env python
print "Hello,word"

#:在创建检测时需要的那个文件
[email protected]:/opt/web3# vim sonar-project.properties
# Required metadatasonar.projectKey=linux37-test:v1sonar.projectName=linux37-test:v1sonar.projectVersion=1.0:v1

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

# Languagesonar.language=py

# Encoding of the source filessonar.sourceEncoding=UTF-8

#;提交到仓库
[email protected]:/opt/web3/app# git add ./*
[email protected]:/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
[email protected]:/opt/web3/app# git push

#:在web端结合job配置

jenkins结合sonarqube (第二种办法)

#:先在jenkins安装sonarqube Scanner插件

#:配置sonarqube

#:配置扫描器

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

#:点击构建测试一下

原文地址:https://www.cnblogs.com/maxuebin/p/11622405.html

时间: 2024-10-08 11:27:22

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

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

尽管MS为我们提供了丰富的.net framework库,我们的程序C#开发带来了极大的便利,但是有时候,一些特定功能的控件库还是需要由第三方提供或是自己编写.当需要用到Dll引用的时候,我们通常会通过“添加引用”的方式将它们纳入到项目中,然后就可以像使用自己的类一样方便的使用它们了.但是,有些Dll库(OCX)文件是需要注册到Windows注册表后才能正常添加和使用的.本文介绍两种为Dll库(OCX)自动注册的方法,为大家提供参考. 首先,大家都知道在Windows的“运行”中,输入“Regs

利用颜色和形态学两种方法进行车牌区域提取的OpenCV代码

要想提取车牌号,首先你要定位车牌区域嘛,本文分别两种方法用,即颜色和形态学的方法,对车牌区域进行判定.说得是两种方法,其实两种方法并无多大的区别,只是有一步的判断标准不一样而已,你看了下面整理出的的思路就知道两者的区别真的很小了. 方法一:利用颜色提取车牌区域的思路: ①求得原图像的sobel边缘sobelMat ②在HSV空间内利用车牌颜色阈值对图像进行二值化处理,得到图像bw_blue→ ③由下面的判别标准得到图像bw_blue_edge for (int k = 1; k != heigh

程序打印自身代码的两种方法

程序打印自身代码的两种方法 方法一:利用fopen,打开可执行程序对应的source code file /***************************************** code writer : EOF code file : print_my_self.c code date : 2014.08.01 e-mail: [email protected] code purpose : Aha, print out myself! *********************

Android 更新UI的两种方法——handler和runOnUiThread() - $firecat的代码足迹$ - 博客频道 - CSDN.NET

文章来源:http://www.2cto.com/kf/201302/190591.html Android 更新UI的两种方法——handler和runOnUiThread() 在Android开发过程中,常需要更新界面的UI.而更新UI是要主线程来更新的,即UI线程更新.如果在主线线程之外的线程中直接更新页面显示常会报错.抛出异常:android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread th

安装jenkins插件的两种方法

安装jenkins插件有两种方法,一种是在线安装,一种是离线安装.两种方式介绍如下: 1.如果服务器可以上网,那边选择在线安装最好不过了,安装流程为:系统管理----插件管理---选择需要的插件直接安装即可 2.如果服务器不能上网,那么就只能离线安装,首先去 http://updates.jenkins-ci.org/download/plugins/ 下载需要的plugin,选择匹配的版本号,下载到本地,然后打开:系统管理---插件管理-高级---找到"上传插件"(浏览,找到扩展名为

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

一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. //第一种方法 NSLog(@"--first-%i",[self convertToInt:@"123我爱你"]); //第二种方法 NSLog(@"--second--%ld",[self getToInt:@"123我爱你"

C#代码像QQ的右下角消息框一样,无论现在用户的焦点在哪个窗口,消息框弹出后都不影响焦点的变化,那么有两种方法

你QQ的右下角消息框一样,无论现在用户的焦点在哪个窗口,消息框弹出后都不影响焦点的变化,那么有两种方法: 要么重写需要弹出的窗体的事件: protected override CreateParams CreateParams     {     get     {         const int WS_EX_NOACTIVATE = 0x08000000;         CreateParams cp = base.CreateParams;         cp.ExStyle |= 

python将两个数组合并成一个数组的两种方法的代码

内容过程中,把写内容过程中常用的内容收藏起来,下面的资料是关于python将两个数组合并成一个数组的两种方法的内容,希望能对小伙伴们有帮助. c1 = ["Red","Green","Blue"]c2 = ["Orange","Yellow","Indigo"]c1.extend(c2) assert c1 == ["Red","Green",&q

python遍历数组的两种方法的代码

工作过程中,把开发过程中较好的一些内容段备份一下,下面内容是关于python遍历数组的两种方法的内容,希望对小伙伴有用途. colours = ["red","green","blue"] for colour in colours: print colour # red # green # blue 下面的方法可以先获得数组的长度,然后根据索引号遍历数组,同时输出索引号 colours = ["red","gree