zoukankan      html  css  js  c++  java
  • Sonar搭建以及前端代码扫描

    原文链接:https://developer.ibm.com/zh/articles/j-lo-sonar/

    Sonar服务器搭建

    Sonar概述

    Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。与持续集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。

    在对其他工具的支持方面,Sonar 不仅提供了对 IDE 的支持,可以在 Eclipse 和 IntelliJ IDEA 这些工具里联机查看结果;同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。

    此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。

    ——摘抄自:http://www.ibm.com/developerworks/cn/java/j-lo-sonar/

    安装JDK

    为了保证稳定还是选择使用JDK7

    下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

    下载到服务器后,按如下命名执行:

    复制代码
     1 cd /opt
     2 mkdir java
     3 mv ~/jdk-7u71-linux-x64.tar.gz /opt/java
     4 cd /opt/java
     5 tar zxvf jdk-7u71-linux-x64.tar.gz
     6 ln -s jdk1.7.0_71/ jdk   #做软链,方便之后升级
     7 ls -lht    #查看软链
     8 vim ~/.bash_profile
     9 #添加如下内容:
    10 #!/bin/bash
    11 export JAVA_HOME=/opt/java/jdk
    12 export PATH=/opt/java/jdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    13  
    14 source ~/.bash_profile
    15 cp ~/.bash_profile /etc/profile.d/java.sh
    复制代码

    执行完后,使用

    java -version 验证是否配置成功;

    客户端安装配置Maven

    过程很简单,与JDK类似,具体如下:

    download:http://maven.apache.org/download.cgi

    复制代码
     1 mkdir /opt/maven
     2 mv ~/apache-maven-3.2.5-bin.tar.gz /opt/maven
     3 cd /opt/maven
     4 tar zxvf apache-maven-3.2.5-bin.tar.gz
     5 ln -s apache-maven-3.2.5 apache-maven
     6 vim ~/.bash_profile
     7 #添加如下内容:
     8 export M2_HOME=/opt/maven/apache-maven-3.2.5
     9 export PATH=$M2_HOME/bin:$PATH
    10  
    11 source ~/.bash_profile
    复制代码

    执行完毕后,使用 mvn -version 验证是否配置成功;

    安装Sonar

    download:http://www.sonarqube.org/downloads/

    下载到安装包后,使用unzip将其解压到/opt/sonar目录下,到 /opt/sonar/sonarqube-4.5.2/bin/linux-x86-64目录下,

    执行:sh sonar.sh start

    启动sonar,访问:192.168.11.234:9000

    可出现如下画面,说明sonar已安装成功,

    配置MySQL

    Sonar虽然自带了数据库,但不推荐生产环境使用,我们还是使用MySQL,MySQL服务器在远端(假设IP为192.168.11.212),与Sonar服务器分离,具体配置如下所示:

    1 CREATE USER sonar@'192.168.11.234';
    2 CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; 
    3 GRANT ALL PRIVILEGES ON  sonar.* TO 'sonar'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
    4 FLUSH PRIVILEGES;

    配置Sonar

    配置完MySQL后,需要修改Sonar的配置文件,具体操作如下:

    复制代码
    1 cd /opt/sonar/sonarqube-4.5.2/conf
    2 vim sonar.properties
    3 # 只需修改username,password和url即可
    4 sonar.jdbc.username=sonar
    5 sonar.jdbc.password=password
    6 sonar.jdbc.url=
    7 jdbc:mysql://192.168.11.212:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
    复制代码

    配置完成后,到bin目录下执行 sh sonar.sh restart,重启Sonar,再次打开界面,即可看到数据库已配置成功;

    客户端Maven执行Sonar扫描

    在自己开发环境下Maven的配置文件settings.xml文件中,添加如下内容:

    复制代码
     1 <profile>
     2   <id>sonar</id>
     3   <activation>
     4     <activeByDefault>true</activeByDefault>
     5   </activation>
     6   <properties>
     7     <sonar.jdbc.url>jdbc:mysql://192.168.11.212:3306/sonar?useUnicode=true&amp;characterEncoding=utf8&amp;rewriteBatchedStatements=true&amp;useConfigs=maxPerformance</sonar.jdbc.url>
     8     <sonar.jdbc.driverClassName>com.mysql.jdbc.Driver</sonar.jdbc.driverClassName>
     9     <sonar.jdbc.username>sonar</sonar.jdbc.username>
    10     <sonar.jdbc.password>password</sonar.jdbc.password>
    11     <sonar.host.url>http://192.168.11.234</sonar.host.url>
    12   </properties>
    13 </profile>
    复制代码

    之后cd到自己的项目根目录,执行:mvn sonar:sonar,就可以完成sonar的扫描了,它会自动把结果扫描保存到mysql,执行完成之后,登陆sonar的页面,即可看到我们刚刚生成的报告;

    TODO

    生产环境将Sonar部署到Tomcat中;

    前端代码扫描(mac

    在环境变量配置中添加sonar运行快捷命令

    1. 打开配置文件 控制台输入: open -e .bash_profile
    2. 粘贴以下内容
    export SONAR_BIN=/Applications/sonar-scanner-4.3.0.2102-macosx
    export PATH=$PATH:$SONAR_BIN/bin
    1. 关闭即可保存
    2. 更新配置文件 控制台输入 : source .bash_profile
    3. 控制台输入 : echo $PATH  // 查看是否更新成功

    image.png

    在项目目录下添加sonar-scanner配置文件(附上我的脱敏配置文件)

    文件名: sonar-project.properties

    sonar.projectKey=name // 自己的sonar服务器上注册的项目名称
    sonar.projectName=name // 自己的sonar服务器上注册的项目名称
    sonar.projectVersion=1.0
    sonar.sources=src // 检查的代码范围
    sonar.exclusions=node_modules*** // 忽略文件
    sonar.host.url= localhost // 自己的sonar服务器地址包括端口名
    sonar.login=username // 自己的sonar服务器用户名
    sonar.password=password // 自己的sonar服务器密码
    sonar.sourceEncoding=UTF-8

     

    在自己的sonar服务器创建一个测试的新项目(搭建过程省略,一般使用sonar工具的公司本身会搭建好)

     

    最后在项目根目录执行 sonar-scanner

    执行结果展示:

    image.png

     

     
     
  • 相关阅读:
    mysql中InnoDB存储引擎的行锁和表锁
    阿里云出海 埃森哲护航
    阿里云出海 埃森哲护航
    阿里云出海 埃森哲护航
    阿里云出海 埃森哲护航
    Python开发简单爬虫
    Python开发简单爬虫
    Python开发简单爬虫
    Python开发简单爬虫
    问大家一个问题,如何用1万元创业,每天利润达到500元?
  • 原文地址:https://www.cnblogs.com/cczlovexw/p/13578793.html
Copyright © 2011-2022 走看看