Fastlane+OCLint+SonarQube 的代码质量检查

首先感谢两位的文章,对我起了很大的帮助,

1.基于Sonar的iOS代码质量检测系统

2.使用 SonarQube 可视化 iOS 代码质量

但是在实践中,却遇到了各种各样的问题,看评论中有人提出,我便想在解决只有发布一个汇总.

因为技术是具有时效性的,所以我不是支出前辈的不足,算是更新吧.所以我在此篇文章中会声明并指定各组件版本.

照例先上传一张成果图!


sonar

数据库是可选的,不使用外部数据库会导致页面出现警告以及无法迁移,这里我们暂时先使用内嵌的数据库.

使用前Java 是必须的,另外建议使用 RVM 管理 Ruby,可以避免各种权限的问题,

先说我的环境吧:

```

java version "1.8.0_111"

ruby 2.3.4p301 (2017-03-30 revision 58214) [x86_64-darwin17]

OCLint version 0.13.

```

先说这里为什么要指定 OCLint 的版本,因为 SonarQube 对 Objective-C 的质量管理是付费的,还挺贵,不过还好有社区版本(Community)

这里两个比较出名的,一个是 "sonar-objective-c-plugin-0.5.0-SNAPSHOT.jar",源地址没有找到,另一个是在 GitHub,现在看可能后者是前者的较新版本吧,但是版本的变化却带来了配置文件的变更.

说几个比较重要的配置吧.

1.SonarQube

$SONARQUBE_HOME/conf/sonar.properties

```

sonar.login=admin

sonar.password=admin

```

--------2019/01/11--------

贼尴尬呀,过了几个月再部署竟然出问题了,不知道是谁改我代码还是怎样.


看这尴尬的对话

然后细节在这里


配置

这里显示了配置关联的 Key,意思你要么把 oclint.xml 放到 sonar-reports 下, 要么在 sonar-project.properties 中去指定, key 是 sonar.objectivec.oclint.report, 然后我的工程配置不知道什么时间变 sonar.objectivec.oclint.report, 这样就可以了.

A 不 A 的不重要,关键是坏味道呀.

附上版本对应要求和我这里可用的插件 GitHub

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容