基于iOS的JenkinsSonar掃描
mac 安裝軟件 顯示信任任何來源,終端執(zhí)行:
sudo spctl --master-disable
前提條件:
設(shè)備:Mac且已安裝Xcode吧黄,java jdk
1. homebrew安裝
命令行輸入:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
如果網(wǎng)絡(luò)原因不能直接安裝部服,可以試試下面操作:
打開網(wǎng)址:https://raw.githubusercontent.com/Homebrew/install/master/install
將頁面存儲(chǔ)為頁面源碼并修改文件后綴為rb,如:install.rd稚字。
cd到該文件目錄饲宿,執(zhí)行
ruby install.rd
2. jenkisn安裝
- 穩(wěn)定版本
安裝最新穩(wěn)定版本: brew install jenkins-lts
安裝指定穩(wěn)定版本: brew install jenkins-lts@YOUR_VERSION
開啟服務(wù): brew services start jenkins-lts
重啟服務(wù): brew services restart jenkins-lts
更新到最新穩(wěn)定版本: brew upgrade jenkins-lts
- 最新版本
安裝最新版本: brew install jenkins
安裝指定版本: brew install jenkins@YOUR_VERSION
開啟服務(wù): brew services start jenkins
重啟服務(wù): brew services restart jenkins
更新到最新版本: brew upgrade jenkins
3. OCLint安裝
方式一:鏈接
方式二:命令
brew tap oclint/formulae
brew install oclint
4. xcpretty安裝
方式一:鏈接
方式二:命令
sudo gem install -n /usr/local/bin xcpretty
5. SonarQube安裝
6. OC,Swift語言支持插件下載
6. slather安裝
gem install slather
7. Pip安裝
pip是常用的python包管理工具,以python3為例
curl https://bootstrap.pypa.io/get-pip.py | python3
7. sonar-runner或者sonar-scanner安裝
sonar-runner在2.4版本之后改名為sonar-scanner
- sonar-scanner配置(默認(rèn)本地的sonarqube,要改的話需要以下步驟)
下載的文件夾下:conf-sonar-scanner.properties
sonar.host.url=http://指定ip:端口
8. 環(huán)境變量配置
open -e ~/.bash_profile
- 新增以下:
SONAR_SCANNER=/usr/local/sonar-scanner-4.5.0.2216
PATH=$SONAR_SCANNER/bin:$PATH
OCLINT=/usr/local/oclint-20.11
PATH=$OCLINT/bin:$PATH
XCPRETTY=/usr/local/xcpretty-0.3.0
PATH=$XCPRETTY/bin:$PATH
- 保存關(guān)閉胆描,繼續(xù)執(zhí)行刷新命令
source ~/.bash_profile
- 測(cè)試是否成功
sonar-scanner
xcpretty
oclint --help
9. 項(xiàng)目配置
在.xcodeproj同級(jí)目錄下瘫想,新增文件run-sonar.sh及sonar-project.properties
我的腳本改過,原版可以參考:
run-sonar.sh下載
sonar-project.properties內(nèi)容
# 項(xiàng)目名
sonar.projectKey=必填
# sonarqube展示的工程名
sonar.projectName=必填
sonar.projectVersion=1.0
# 語言
sonar.language=objc
# 語言
sonar.objectivec.project=項(xiàng)目名.xcodeproj
sonar.objectivec.workspace=項(xiàng)目名.xcodeproj/project.xcworkspace
sonar.objectivec.appScheme=Scheme
sonar.objectivec.testScheme=測(cè)試Scheme
sonar.objectivec.simulator=platform=iOS Simulator,name=iPhone 8,OS=latest
sonar.sources=要掃描的文件目錄
sonar.objectivec.excludedPathsFromCoverage=*Resources
sonar.objectivec.oclint.report=oclint.xml
# sonarqube地址
sonar.host.url=http://172.26.6.247:9000
# sonarqube賬號(hào)
sonar.login=admin
# sonarqube密碼
sonar.password=admin
# 自定義 排除掃描目錄
sonar.objectivec.excludePath=-e Common -e Model
10. jenkins構(gòu)建任務(wù)
- 配置代碼倉庫
- 配置憑證:
查看自己的私鑰:
cat /Users/zhanghuan/.ssh/id_rsa
記得把自己的公鑰放到git個(gè)人賬戶sshkey里面昌讲。
- 新增構(gòu)建腳本
#!/bin/bash -il
source /Users/zhanghuan/.bash_profile
export LC_ALL="en_US.UTF-8"
# sonar-scanner
sh run-sonar.sh
直接構(gòu)建,成功后打開sonarqube查看結(jié)果即可