使用使用Jenkins+OCLint+SonarCube对对iOS项目进行代码分析项目进行代码分析
大致的流程是使用Jenkins来进行持续构建,执行OCLint来进行代码分析,然后将OCLint生成的分析报告传给SonarCube来对
项目代码进行持续的分析。对于项目构建可以采取Git提交触发或者是定时任务的方式。这里面的主要问题是:
这是个分散的系统,各个环节相互依赖,每个环节都可能出错;
Jenkins的构建环境比较特殊,与我们直接用命令行操作是有差异的;
SonarCube支持Objective-c的插件是收费的,开源插件对最新OCLint的支持不太够;
注意软件版本、资料的时效性(Xcode版本需要特别注意);
在我们搭建的过程中遇到的问题基本上属于上面三个方面,如果遇到了本文中未出现的问题,尝试从上面几个方面入手分析。
为了更好的理解整个流程,最后会采用一个开源项目进行代码分析。
阅读说明:本篇内容步骤较为繁琐,大概分为三部分内容Jenkins安装、SonarCube安装、以及OCLint安装。其中OCLint是核
心部分,而这部分最为繁琐,一定要注意路径、环境变量等细节设置。
〇、基础环境准备
因为部分软件是直接解压使用的,为了确保环境一致,我们现在用户目录下建立一个jenkins目录,将所有解压使用的软件放
在该目录下。在终端命令行中使用如下命令建立目录:
cd ~
mkdir jenkins
使用如下命令获取jenkins目录的完整路径:
cd ~/jenkins
pwd
# 我本机的路径是 /Users/drsun/jenkins
注意保存该路径,接下来会频繁使用该路径。
一、Jenkins安装
版本 :2.89.4
下载地址:https://jenkins.io/download/
推荐直接使用dmg安装包,双击安装即可,安装后的一些调整(如http端口、卸载等)。
这个版本Jenkins的插件服务器启用了https,安装过程中会出现如下提示:
This Jenkins instance appears to be offline
解决的方式是将hudson.model.UpdateCenter.xml文件中的https改为http,在Mac系统下该文件位
于/Users/Shared/Jenkins/Home/hudson.model.UpdateCenter.xml。(注意需要使用sudo权限修改)
修改完成后,执行如下命令重启Jenkins服务:
sudo launchctl unload
/Library/LaunchDaemons/org.jenkins-ci.plist
sudo launchctl load
/Library/LaunchDaemons/org.jenkins-ci.plist
重启完成后,继续完成Jenkins配置,插件安装直接默认安装即可,注意一定要安装Git插件,如下图所示:
Jenkins服务默认的监听端口是8080,这个端口比较常用,可以通过如下命令来调整端口,避免与其它服务冲突。
评论0
最新资源