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

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

#:安装文档

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

  1. #;根据文档,先修改内核参数
  2. root@ubuntu:/usr/local/src# vim /etc/sysctl.conf
  3. vm.max_map_count=262144
  4. fs.file-max=65536
  5. root@ubuntu:/usr/local/src# sysctl -p
  6.  
  7. #:修改文件数
  8. root@ubuntu:/usr/local/src# ulimit -n 65536
  9. root@ubuntu:/usr/local/src# ulimit -u 2048
  10. root@ubuntu:/usr/local/src# vim /etc/security/limits.conf
  11. sonarqube - nofile 65536
  12. sonarqube - nproc 2048
  13.  
  14. #:创建用户
  15. root@ubuntu:/usr/local/src# useradd -m -s /bin/bash sonarqube
  16.  
  17. #:安装数据库(5.6或5.7)
  18. root@ubuntu:/usr/local/src# apt install mysql-server mysql-client
  19.  
  20. #:修改监听地址
  21. root@ubuntu:/usr/local/src# vim /etc/mysql/mysql.conf.d/mysqld.cnf
  22. bind-address = 0.0.0.0
  23.  
  24. #:准备数据库
  25. mysql> create database sonar default character set utf8 collate utf8_general_ci;
  26. Query OK, 1 row affected (0.00 sec)
  27.  
  28. mysql> GRANT ALL PRIVILEGES ON sonar.* TO 'sonar'@'%' IDENTIFIED BY '123456';
  29. Query OK, 0 rows affected, 1 warning (0.00 sec)
  30.  
  31. #:测试一下
  32. root@ubuntu:/usr/local/src/jdk1.8.0_191# mysql -usonar -h192.168.6.105 -p123456
  33.  
  34. #:下载sonarqube,并解压
  35. root@ubuntu:/usr/local/src# unzip sonarqube-6.7.7.zip
  36. root@ubuntu:/usr/local/src# ln -sv /usr/local/src/sonarqube-6.7.7 /usr/local/sonarqube
  37.  
  38. #:修改目录的属主属组
  39. root@ubuntu:/usr/local/src# chown -R sonarqube.sonarqube /usr/local/sonarqube /usr/local/src/sonarqube-6.7.7
  40.  
  41. #:切换到普通用户配置
  42. root@ubuntu:/usr/local/src# su - sonarqube
  43. #:修改配置文件
  44. sonarqube@ubuntu:~$ cd /usr/local/sonarqube
  45. sonarqube@ubuntu:/usr/local/sonarqube$ vim conf/sonar.properties
  46. sonar.jdbc.username=sonar
  47. sonar.jdbc.password=123456
  48. sonar.jdbc.url=jdbc:mysql://192.168.6.105:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
  49. sonar.jdbc.maxActive=60
  50. sonar.jdbc.maxIdle=5 #:最大空闲
  51. sonar.jdbc.minIdle=2 #:最小空闲
  52. sonar.jdbc.maxWait=5000
  53. sonar.web.host=0.0.0.0
  54. sonar.web.port=9000 #:如果和PHP装一起,记得改端口
  55.  
  56. #:启动服务
  57. sonarqube@ubuntu:/usr/local/sonarqube$ ./bin/linux-x86-64/sonar.sh start
  58.  
  59. #:看日志
  60. sonarqube@ubuntu:/usr/local/sonarqube$ tail -f logs/*.log
  61. 2019.10.04 13:02:25 INFO app[][o.s.a.SchedulerImpl] Process[ce] is up
  62. 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服务器配置扫描器

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

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

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

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

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

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

  1. #:创建一个Python文件(故意写错)
  2. root@ubuntu:/opt/web3# vim app/index.py
  3. #!/usr/bin/env python
  4. print "Hello,word"
  5.  
  6. #:在创建检测时需要的那个文件
  7. root@ubuntu:/opt/web3# vim sonar-project.properties
  8. # 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
  9.  
  10. #;提交到仓库
  11. root@ubuntu:/opt/web3/app# git add ./*
  12. root@ubuntu:/opt/web3/app# git commit -m "v8"
  13. [master 596a068] v8
  14. 2 files changed, 16 insertions(+)
  15. create mode 100644 app/index.py
  16. create mode 100644 app/sonar-project.propertie
  17. 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. 基于Dapr的 Azure 容器应用

    微软在 Ignite 2021 大会上发布了预览版的Azure Container Apps,这是一个完全托管的无服务器容器运行时间,用于大规模构建和运行现代应用程序.从2021 年 11 月 2 日 ...

  2. Spring Security OAuth2 单点登录

    1. OAuth 2.0 OAuth(Open Authorization)为用户资源的授权提供了一个安全的.开放而又简易的标准.最简单的理解,我们可以看一下微信OAuth2.0授权登录流程: 通过O ...

  3. MapReduce Service更换集群外部时钟源,仅需10步

    摘要:MapReduce Service 集群使用NTP进行时钟同步.本文简要介绍了MapReduce Service集群NTP机制及NTP的配置方式. 本文分享自华为云社区<MapReduce ...

  4. Java——去掉小数点后面多余的0

    当小数点后位数过多,多余的0没有实际意义,根据业务需求需要去掉多余的0.后端存储浮点型数据一般会用到Bigdecimal 类型,可以调用相关方法去掉小数后多余0,然后转为string. public ...

  5. RabbitMQ (五):死信队列

    什么是TTL RabbitMQ的TTL全称为Time-To-Live,表示的是消息的有效期.消息如果在队列中一直没有被消费并且存在时间超过了TTL,消息就会变成了"死信" (Dea ...

  6. Python编程环境设置

    第1节.Python编程环境设置 一.sublime相关 1.sublime REPL插件安装 (1)安装 先打开插件安装面板:ctrl+shift+P 输入install ,选择Package Co ...

  7. Scrapy入门到放弃06:Spider中间件

    前言 写一写Spider中间件吧,都凌晨了,一点都不想写,主要是也没啥用...哦不,是平时用得少.因为工作上的事情,已经拖更好久了,这次就趁着半夜写一篇. Scrapy-deltafetch插件是在S ...

  8. myeclipse与tomcat,运行jsp程序

    一.myeclipse中配置JRE 步骤: 1.选择window->preferences->Java->Installed JREs 2.点击窗口右边的"add" ...

  9. CF187D BRT Contract

    考虑如果哪次经过了红灯则显然已经和出发的时间没关系了. 然后我们需要做的是怎么样找到最近的一个是红灯的点. 然后实际下是我们做一个前缀和:\(L_i = \sum d_i\) 然后求\(\min (L ...

  10. FFT/NTT复习笔记&多项式&生成函数学习笔记Ⅰ

    众所周知,tzc 在 2019 年(12 月 31 日)就第一次开始接触多项式相关算法,可到 2021 年(1 月 1 日)才开始写这篇 blog. 感觉自己开了个大坑( 多项式 多项式乘法 好吧这个 ...