代码测试sonar

1.下载地址:

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

2.配置jdk环境(版本要求1.8+)

  1. [root@localhost#>> /usr/local/src]#tar xf server-jre-8u181-linux-x64.tar.gz
  2. [root@localhost#>> /usr/local/src]#ln -sv /usr/local/src/jdk1.8.0_181/ /usr/local/jdk
  3. [root@localhost#>> /usr/local/src]#ln -sv /usr/local/jdk/bin/java /usr/bin/
  4. [root@localhost#>> /usr/local/src]#java -version
  5. java version "1.8.0_181"

3.创建数据库(版本要求5.6+)

  1. #安装:
  2. https://www.cnblogs.com/baolin2200/p/9647831.html
  3. #创建数据库:
  4. mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
  5. Query OK, 1 row affected (0.00 sec)
  6. mysql> GRANT ALL ON sonar.* TO sonar@"%" IDENTIFIED BY "A-bc789456";
  7. Query OK, 0 rows affected, 1 warning (0.00 sec)

4.下载sonar

  1. [root@localhost#>> /usr/local/src]#wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.7.5.zip

5.解压

  1. unzip sonarqube-6.7.5.zip
  2. ln -sv /usr/local/src/sonarqube-6.7.5/ /usr/local/sonar

6.配置sonar

  1. [root@localhost#>> ~]#grep "^[a-Z]" /usr/local/sonar/conf/sonar.properties
  2. sonar.jdbc.username=sonar
  3. sonar.jdbc.password=A-bc789456
  4. sonar.jdbc.url=jdbc:mysql://192.8.19.105:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
  5. sonar.web.host=0.0.0.0
  6. sonar.web.port=9000

7.添加用户:【在6.7.5 版本需求elasticsearch 不允许由root启动】

  1. can not run elasticsearch as root 所以需要创建用户
  2. [root@localhost#>> /usr/local]#useradd libaolin
  3. [root@localhost#>> /usr/local]#passwd libaolin

8.更改sonar目录权限

  1. [root@localhost#>> /usr/local]#chown libaolin:libaolin sonar/ -R
  2. [root@localhost#>> /usr/local]#su - libaolin

9.启动:

  1. [libaolin@localhost ~]$ /usr/local/sonar/bin/linux-x86-64/sonar.sh start
  2. 注:出错请查看日志

Web页面配置

1.登录:【默认用户/密码:admin 】

  1. http://192.8.19.105:9000/about

2.安装中文插件

3.插件默认安装位置:【可以直接copy到当前目录即可】

  1. [libaolin@localhost logs]$ ll /usr/local/sonar/extensions/plugins

4.安装完成后重启

5.安装各语言插件

  1. PHP Java python

部署扫描器sonar-scanner

Sonar通过扫描器进行代码质量分析,即扫描器的具体工作就是扫描代码:

1.下载地址:

  1. https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.2.0.1227-linux.zip

2.下载解压

  1. [root@localhost#>> /usr/local/src]#wget https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.2.0.1227-linux.zip
  2. [root@localhost#>> /usr/local/src]#unzip sonar-scanner-cli-3.2.0.1227-linux.zip
  3. [root@localhost#>> /usr/local/src]#ln -sv /usr/local/src/sonar-scanner-3.2.0.1227-linux/ /usr/local/sonar-scanner

3.添加配置sonar-scanner

  1. [root@localhost#>> /usr/local/sonar-scanner/conf]#grep "^[a-Z]" sonar-scanner.properties
  2. sonar.host.url=http://192.8.19.105:9000
  3. sonar.sourceEncoding=UTF-8
  4. sonar.jdbc.username=sonar
  5. sonar.jdbc.password=A-bc789456
  6. sonar.jdbc.url=jdbc:mysql://192.8.19.105:3306/sonar?useUnicode=true&characterEncoding=utf8

测试代码扫描

1.创建sonar-project.properties文件

  1. [root@nq python-sonar-runner]# cat sonar-project.properties
  2. # sonar项目名称
  3. sonar.projectKey=org.sonarqube:python-simple-sonar-scanner
  4. sonar.projectName=Python :: Simple Project : SonarQube Scanner
  5. sonar.projectVersion=1.0
  6. # 代码所在路径
  7. sonar.sources= /opt/projects/languages/python/src/
  8. # Language
  9. sonar.language=python
  10. # Encoding of the source files
  11. sonar.sourceEncoding=UTF-8

2.在sonar-project.properties 路径执行代码扫描器

  1. [root@nq python-sonar-runner]# /usr/local/sonar-scanner/bin/sonar-scanner

3.通过http://192.8.19.105:9000/projects?sort=-analysis_date 查看

附件

  1. sonar-l10n-zh-plugin-1.19.jar - 中文插件
  1. sonar.jpi - Jenkins相关插件

sonar-代码扫描的更多相关文章

  1. jenkins:集成sonar代码扫描+发送邮件

    前提: Jenkins JDK 目录: 1.安装sonar插件:SonarQube Scanner for Jenkins 2.安装SonarQube 3.安装sonar-scanner ++++++ ...

  2. Sonar代码质量管理工具

    最近上线了,Sonar代码扫描工具: 与jenkins集成: 实现自动扫描: 下面来简单聊聊Sonar能解决什么问题: ---------------------- Sonar简介 Sonar是一个用 ...

  3. 使用jenkins+sonar进行代码扫描,并发送自定义邮件

    jenkins架构 1.一台机器作为jenkins master不进行构建操作,只负责调度其他slave节点执行任务 2.一台slave机器作为执行机器存放从gitlab上拉取的代码,使用sonar- ...

  4. DEVOPS技术实践_05:sonar静态代码扫描

    一.SonarQube静态代码扫描平台 1.1 安装 https://www.sonarqube.org/官网 1.2 下载软件包 https://www.sonarqube.org/download ...

  5. Jenkins集成openshift容器中进行代码扫描

    1.Dockerfile sonarDockerfile: (基础slave镜像参考上篇博文) FROM registry.it.com/openshift/jenkins-slave:latest ...

  6. [ci] 基于1 上文实现拉取代码后能自动触发sonar-runner实现代码扫描评测,job1完成

    基于1 上文实现拉取代码后能自动触发sonar-runner实现代码扫描评测,job1完成   添加sonar插件 SonarQube Plugin   配置: 系统设置à告知jenkins,sona ...

  7. 03 . Jenkins构建之代码扫描

    Sonar简介 Sonar 是一个用于代码质量管理的开放平台.通过插件机制,Sonar可以集成不同的测试工具,代码分析工具,以及持续集成工具.与持续集成工具(例如 Hudson/Jenkins 等)不 ...

  8. 功能+自动化测试代码扫描(demo)

    Jacoco 是一个开源的覆盖率工具.Jacoco 可以嵌入到 Ant .Maven 中,并提供了 EclEmma Eclipse 插件,也可以使用 Java Agent 技术监控 Java 程序.很 ...

  9. SonarQube+Jenkins+Cppcheck实现C++代码扫描

    背景:公司部分项目是由C++进行开发,因此对此有需求. sonarqube:docker化安装(alpine系统),版本8.3.1 (build 34397) jenkins:docker化安装,版本 ...

  10. 持续集成工具之jenkins+sonarqube做代码扫描

    上一篇我们主要聊了下代码质量管理平台sonarqube的安装部署以及它的工作方式做了简单的描述和代码扫描演示:回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13 ...

随机推荐

  1. StringUtils常用方法+StringUtils详细介绍

    StringUtils常用方法+StringUtils详细介绍   StringUtils用法+StringUtils详细介绍博文来源:http://yijianfengvip.blog.163.co ...

  2. Django 路由系统

    Django 路由系统 基本格式 from django.conf.urls import url urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ] 参数说 ...

  3. Codeforces 1082C Multi-Subject Competition(前缀+思维)

    题目链接:Multi-Subject Competition 题意:给定n名选手,每名选手都有唯一选择的科目si和对应的能力水平.并且给定科目数量为m.求选定若干个科目,并且每个科目参与选手数量相同的 ...

  4. kafka 发送确认参数acks的几种模式

    1. acks=0 意味着生产者能够通过网络吧消息发送出去,那么就认为消息已成功写入Kafka 一定会丢失一些数据 2. acks=1 意味着首领在疏导消息并把它写到分区数据问津是会返回确认或者错误响 ...

  5. 关于opencv的cv2.WINDOW_一类

    用法:cv2.namedWindow('窗口标题',默认参数) 默认参数:cv2.WINDOW_AUTOSIZE+cv2.WINDOW_KEEPRATIO+cv2.WINDOW_GUI_EXPANDE ...

  6. zkclient中包引用不对,导致NoSuchMethodError

    nidonglin commented on 31 Oct 2014 Exception in thread "main" java.lang.NoSuchMethodError: ...

  7. C语言程序设计I—寒假作业安排

    20188402http://www.cnblogs.com/1793979463hyx/

  8. qt: 系统默认程序打开文件或者软件;

    Qt提供了QDesktopServices类, 可以利用openUrl函数调用默认程序打开文件: 源码参考: #ifdef Q_OS_WIN32 m_szHelpDoc = QString(" ...

  9. Numpy系列(十二)- 矩阵运算

    numpy模块中的矩阵对象为numpy.matrix,包括矩阵数据的处理,矩阵的计算,以及基本的统计功能,转置,可逆性等等,包括对复数的处理,均在matrix对象中. class numpy.matr ...

  10. ETL过程跑完后,使用python发送邮件

    目标库中,如果有行数为0的表,使用python发送邮件 # -*- coding:utf-8 -*- # Author: zjc # Description:send monitor info to ...