IOS-Sonar代码质量监控

作者: 跑步的李磊 | 来源:发表于2016-09-14 18:00 被阅读3969次

    随着新业务的增加和老业务的不断优化,项目中的代码也在一直增加,当代码量达到几十万行的时候,人工审查肯定会费时费力,所以有了 SonarQube代码质量管理平台,通过配置审查规则,让程序帮你检测代码中潜在的bug,让耗时操作通过机器完成,节约人力成本。好了废话不多说,来介绍一下sonar针对ios项目的使用。


    Sonar简介

    Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量
    通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy,oc等二十几种编程语言的代码质量管理与检测,并且可以配合jenkins一起使用
    sonarQube能带来什么?
    1.Bugs和漏洞
    检测代码中的bug和漏洞

    屏幕快照 2016-09-14 17.56.21.png

    2.坏味道
    检测代码中潜在的错误

    屏幕快照 2016-09-14 17.56.40.png

    3.重复
    显然程序中包含大量复制粘贴的代码是质量低下的 sonar可以展示源码中重复严重的地方

    屏幕快照 2016-09-14 17.56.56.png

    4.结构
    检测代码行数,代码的组成成分,和占用的百分比

    屏幕快照 2016-09-14 17.57.11.png

    5.注释量
    检测代码注释的量

    屏幕快照 2016-09-14 17.27.30.png

    6.依赖关系
    项目结构

    屏幕快照 2016-09-14 17.28.20.png
    SonarQube安装

    预置条件
    1.已安装JAVA环境
    2.已安装有MySQL数据库

    1.下载sonar
    soanr软件下载地址:http://www.sonarqube.org/downloads/
    2.配置sonar
    下载之后解压,把文件夹拖到 /usr/local 目录下
    3.修改sonar.properties
    找到

      /usr/local/sonar/conf/sonar.properties
    

    修改参数

      sonar.jdbc.username=sonar
      sonar.jdbc.password=sonar
      sonar.jdbc.url=jdbc:mysql://localhost:3306  /sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
    

    4.启动sonar

    sudo /usr/local/sonar/bin/macosx-universal-64/sonar.sh start
    

    5.访问 http://localhost:9000
    当访问到如图,恭喜你soanr服务器配置成功了

    屏幕快照 2016-09-14 17.29.21.png

    6.IOS工程配置
    拷贝这两个文件到项目的.xcodeproj目录下
    run-sonar.sh
    sonar-project.properties
    下载地址 https://pan.baidu.com/s/1pLpiNaz
    配置sonar-project.properties文件

    Snip20160914_1.png

    7.执行run-sonar.sh脚本,检测代码
    cd 到项目目录 执行

       ./run-sonar.sh
    
    Snip20160914_2.png

    检测完成之后

    Snip20160914_4.png

    访问 http://localhost:9000

    屏幕快照 2016-09-14 16.57.12.png

    相关文章

      网友评论

      • 岁月无痕2046:http://localhost:9000 这个页面打不开 怎么回事啊
        T丶Muller:你的localhost:9000 打开了么? 我这也打不开。
        T丶Muller:@跑步的李磊 localhost 显示 it works. 但是http://localhost:9000 请问是什么原因啊?
        跑步的李磊:@长空2046 tomcat 启动了吗,先试试localhost
      • 62b9b63e1d3b:麻烦问下,我扫描后Sonar只有坏味道有结果,而bug跟漏洞是没数据的,我连着试了3个项目都这样,请问你的My Doctor项目是怎么配置的,我看着几项都有数据,谢谢!
        62b9b63e1d3b:@siutony 最后放弃了,或者你需要公司出面购买收费的OC扫描的插件:smile:
        码农翻身记:我也碰到一样的问题,请问你是怎样解决的
      • o0阿拉斯加的狗0o:Objective-C的插件也太贵了吧,您是怎么弄的,买的吗?
        89a90c003c64:破解版有链接?
        跑步的李磊:用的开源的
      • 孤独的剑客:那如果xcworkspace,这个就不能管理iOS了么 :relieved:
        WillkYang:@孤独的剑客 我也写了一个,解决最新系统和xcode8的问题,可以参考:http://www.jianshu.com/p/6b61783b9a38
        孤独的剑客:@跑步的李磊 能否具体一些,按照上面的没有成功
        跑步的李磊:@孤独的剑客 可以,我现在就是用的cocoapods管理
      • 南调江南:楼主使用xcode8.1的时候出现了ERROR - Command 'xctool -workspace OspPortal.xcworkspace -sdk iphonesimulator ARCHS=i386 VALID_ARCHS=i386 CURRENT_ARCH=i386 ONLY_ACTIVE_ARCH=NO -scheme OspPortal clean' failed with error code: 4 错误,xctool不支持xctool的系统?
        WillkYang:@南调江南 http://www.jianshu.com/p/6b61783b9a38已解决,可以参考
        advancer_chen:@南调江南 可以解决的, 我的已经跑出结果了. 用xcodebuild+xcpretty来替代. 博客正在整理中, 可以先加QQ群来讨论: 323276186
        南调江南:@MrCoderYu 没戏,xcworkspace不支持xcode8.1
      • 跑步的李磊:破解版的
        鸟儿飞_b6f5:破解版可以在哪下载呢,谢楼主
      • 23240449cd79:支持 Objective-C 语言的插件那么贵,楼主买了还是试用版?
      • TimBao:不错
      • 改变自己_now:很有用,谢谢

      本文标题:IOS-Sonar代码质量监控

      本文链接:https://www.haomeiwen.com/subject/xyevettx.html