系统工具安装
Xcode 安装
打开一下Xcode安装CommandLineTools,尝试一下xcodebuild命令,如果不行,指定一下Xcode安装目录
Atom 编辑器(随意)
Java 安装
版本最新就好了,下Mac 版的dmg文件点击安装,环境设置都省了。
javasdk 下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Homebrew 安装
官网 https://brew.sh/index_zh-cn.html ,macOS
软件包管理器,有各种工具,非常有用,必装。安装命令(或者去官网查看):
Android SDK安装
Maven 安装
主要是用来打包sonar的扩展包jar
Xcpretty 安装
格式化xcode的输出,以及生成sonar需要的编译信息
OCLint 安装
|
|
Cocoapods 安装
|
|
Gradle安装
|
|
Groovy 安装(随意)
brew install groovy
来安装运行环境
Mysql 安装和配置
sonar需要使用数据库
安装和启动
安装
启动
配置root
配置为系统服务
配置sonar的用户和数据库实例
创建sonar用户和数据库sonar_qube,赋予sonar权限。
phpMyAdmin 安装(随意)
mysql的可视化工具,装一个方便点。官网https://www.phpmyadmin.net 下载一个
压缩包,解压,文件夹改名为phpMyAdmin,直接移动到/Library/WebServer/Documents
,修改/etc/apache2/httpd.conf
配置,打开注释php5_module
启动apachectl
打开 http://localhost/phpMyAdmin/ 可以看到了。如果登陆时提示No such file or directory,phpMyAdmin默认读取路径跟实际路径ln一下,运行
Sonar 安装和配置
Sonar主要包含两个部分,SonarQube和sonar-scanner,SonarQube就是sonar的web服务提供可视化界面,sonar-scanner是用于扫描分析项目的代码静态结果提交到SonarQube。下载SonarQube5.3版本,对应的sonar-scanner2.5版本(由于开源的oc插件支持的原因),下载地址:https://www.sonarqube.org/downloads/
配置和启动
修改配置
启动
中文扩展包(Chinese Pack)
源码地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh clone源码在本地打包,注意源码要切换到支持sonar5.3的版本,建议是0ff5e8f
。
ObjectiveC扩展包(ObjectiveC)
sonar-objective-c的原作者已经不再更新了,fork
里面一直还在更新的是:https://github.com/Backelite/sonar-objective-c ,在之前也用过:https://github.com/mjdetullio/sonar-objective-c/network ,不过Backelite已经支持到oclint0.11了,基本是最新的,所以采用是Backelite的版本。先copy里面的profile-oclint.xml
和rules.txt
这两个文件出来, 切换到版本12b2a7a
再把原先的两个文件覆盖回去,这样保证最新rules,这样基本不会出现找不到规则的错误。
如果出现没找到规则的错误
这种错误跑一下源码里面的updateOCLintRules.groovy
groovy脚本,再重新打包。
或者手动新增,修改org/sonar/plugins/oclint的profile-oclint.xml和rules.txt文件
,内容跟那个错误一样,再重新打包。profile-oclint.xml追加:
rules.txt追加:
Android扩展包
源码地址:https://github.com/ofields/sonar-android ,使用1.1版本。
sonar配置为系统服务
使用Mac特有的launchctl来启动时加载
写一个plist文件
launchctl常用命令
注意:launchctl unload和stop并未停止sonar的服务,还需要调用一下<sonarqube_install_dir>/bin/macosx-universal-64/sonar.sh stop
。
配置外网访问
修改
修改/etc/apache2/httpd.conf,用路径代理/sonar访问。
|
|
然后重启apachectl和sonar。
批量创建用户
直接使用sonar服务本身webapi,更详细文档参考https://sonarcloud.io/web_api/
Jenkins 安装和配置
安装和启动
安装
启动为系统服务
打开http://localhost:8080 按照提示进行admin用户设置
配置外网访问
修改/usr/local/Cellar/jenkins/2.69/homebrew.mxcl.jenkins.plist
使用系统的Apache
代理
|
|
Jenkins的全局配置
系统设置:Environment variables
的ANDROID_HOME
,SonarQube servers
的必填参数。
Global Tool Configuration : JDK,Gradle,SonarQube Scanner需要配置相关的安装路径。
Jenkins需额外安装的插件
Extensible Choice Parameter plugin :动态参数,可以使用groovy脚本
Git Parameter Plug-In :Git分支参数
SonarQube Scanner for Jenkins :Sonar必须要
Gradle Plugin :可以不用写脚本调用Gradle
批量创建用户
进入http://
脚本需要注意
直接使用脚本的构建在编写脚本时需要注意,脚本的上下文环境跟服务器的上下文环境是不一样,所以经常会遇到command not found
的错误,那么需要使用绝对路径来使用一些命令,或者把服务器的PATH
export
进去,还有设置一下utf8
的全局编码。
Sonar构建使用到的shell命令
iOS
Android