代码测试sonar

1.下载地址:

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

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

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

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

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

4.下载sonar

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

5.解压

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

6.配置sonar

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

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

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

8.更改sonar目录权限

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

9.启动:

[libaolin@localhost ~]$ /usr/local/sonar/bin/linux-x86-64/sonar.sh start

注:出错请查看日志

Web页面配置

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

http://192.8.19.105:9000/about

2.安装中文插件

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

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

4.安装完成后重启

5.安装各语言插件

PHP  Java  python 等

部署扫描器sonar-scanner

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

1.下载地址:

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

2.下载解压

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

3.添加配置sonar-scanner

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

测试代码扫描

1.创建sonar-project.properties文件

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

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

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

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

附件

sonar-l10n-zh-plugin-1.19.jar - 中文插件
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. 【php-fpm】启动PHP报错ERROR: [pool www] cannot get uid for user 'apache'

    将@php_fpm_user@改为当前系统的用户名apache, 然后重新启动就ok了 注意:创建apache用户及用户组,上述命令换deamon为apache 

  2. 在线解析JSON+ AsyncTaskLoader

    效果图: 获取并解析Json package com.example.admin.quakereport; import android.text.TextUtils;import android.u ...

  3. 帝国cms 不能正常显示最新文章

    后台能正常刷新,但前台就是不能正常显示, 把网站从c盘换到d盘,好了,原来是权限的问题

  4. L2-006 树的遍历 (25 分) (根据后序遍历与中序遍历建二叉树)

    题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805069361299456 L2-006 树的遍历 (25 分 ...

  5. Linux基本命令总结(四)

    接上篇: 16,locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了 ...

  6. 微服务下的容器部署和管理平台Rancher

    Rancher是什么 Rancher是一个开源的企业级容器管理平台.通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台.Rancher提供了在生产环境中使用的管理Docke ...

  7. 一.Django 学习 —— 环境搭建

    Ⅰ.前言 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的框架模式,即模型M,视图V和控制器C. 我们先搭建一个Django项目运行的环境. 需要准备的有: 1- Py ...

  8. Hadoop记录-JMX参数

    Yarn metrics参数说明 获取Yarn jmx信息:curl -i http://xxx:8088/jmx Hadoop:service=ResourceManager,name=FSOpDu ...

  9. 基于ionic4、cordova搭建android开发环境

    前颜(yan)最近公司有一个项目需求是利用h5进行跨平台开发,这里所说的跨平台开发指的是:将h5代码利用某种方式或工具环境进行打包,最后生成android的apk以及ios的ipa. 本文只讲解and ...

  10. Django的admin视图的使用

    要现在admin.py文件中将你要视图化操作的类进行注册: from django.contrib import admin from api import models # Register you ...