基于sonar扫描Objective-C代码 mac相关集成与使
-
我们公司采用sonar qube 和 sonar scanner 的方式是前端后端分离的方式。简言之用一台机器配置好mysql ,sonar qube 然后前端只需要下载 sonar scanner,然后使用scanner扫描代码 再上传到服务器上就可以了。
-
官网下载sonar scanner。自行百度。
-
因为是扫描OC代码,必须下载某个插件才可以识别。官方给出的文档是这种
屏幕快照 2019-06-06 上午10.17.23.png -
这个网站要翻墙才能下载wrapper工具
-
所有东西都下载完成之后 cd进你的项目
mkdir DerivedData
build-wrapper-macosx-x86 --out-dir DerivedData/compilation-database
xcodebuild
-scheme Example
-derivedDataPath DerivedData
clean test
先解释DerivedData就是创建一个类似log的东西还有配置相关的东西吧,下面这整段就是创建wrapper环境 都弄好之后会出现一个sonar-project.properties的文件,该文件配置关于扫描的属性
- 最后的话我们只需要扫描项目,并且上传给服务器就可以了
/Users/admin/Desktop/sonar-scanner-3.3.0.1492-macosx/bin/sonar-scanner
-Dproject.settings=sonar-project.properties
-Dsonar.projectKey=你在服务器创建项目的key
-Dsonar.sources=.
-Dsonar.host.url=http://你们服务器地址
-Dsonar.login=你在服务器创建项目也会给login
Dproject.settings=sonar-project.properties 这段话就是说运行扫描且遵循sonar-project.properties的规则。/Users/admin/Desktop/sonar-scanner-3.3.0.1492-macosx/bin/sonar-scanner \这句话就是你在官网下载完scanner之后保存的位置 切记
关于properties文件配置内容
Required metadata
sonar.projectKey=iOS-kf5-App
sonar.projectName=iOS-kf5-App
sonar.projectVersion=1.0
sonar.language=objc
Comma-separated paths to directories with sources
sonar.sources=你的项目名称
sonar.c.file.suffixes=
sonar.objc.file.suffixes=.h,.m //表示只扫描.h.m文件
Encoding of the source files
sonar.sourceEncoding=UTF-8
The build-wrapper output dir
sonar.cfamily.build-wrapper-output=DerivedData/compilation-database
Xcode project configuration
sonar.iOS-kf5-App.workspace=kf5.xcworkspace
sonar.iOS-kf5-App.projects=kf5.xcodeproj
sonar.iOS-kf5-App.appScheme=kf5
sonar.exclusions=Pods/,kf5Tests/ //忽略pod第三方库以及test
最后可以在服务器上看到
屏幕快照 2019-06-05 下午5.59.40.png