iOS持續(xù)集成Jenkins + git + cocopods+fir

1.首先推薦用命令行安裝jenkins 因?yàn)橛冒惭b包安裝可能會(huì)在打包階段會(huì)有權(quán)限問(wèn)題诱渤。
如果沒有安裝brew,請(qǐng)先安裝

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

由于jenkins需要java環(huán)境,所以需要安裝java 关霸,至少java5版本以上

brew cask install java

最后上面都有安裝,就可以安裝jenkins

brew install jenkins

安裝成功后,啟動(dòng)方法有兩種:
第一種:

sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist

第一種安裝過(guò)程中若提示org.jenkins-ci.plist 文件未找到手動(dòng)創(chuàng)建即可

sudo touch /Library/LaunchDaemons/org.jenkins-ci.plist

再cd到org.jenkins-ci.plist文件進(jìn)行內(nèi)容編輯(2.186需要根據(jù)你安裝的Jenkins版本進(jìn)行更改)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>Jenkins</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/java</string>
<string>-jar</string>
<string>/usr/local/Cellar/jenkins/2.186/libexec/jenkins.war</string>
</array>
<key>OnDemand</key>
<false/>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>admin</string>
</dict>
</plist>

第二種:

Jenkins

2.運(yùn)行并使用Jenkins
如果瀏覽器沒有自動(dòng)打開必峰,可以通過(guò)這個(gè)
(http://localhost:8080/)打開
如果首次能出現(xiàn)如下網(wǎng)頁(yè)糖驴,就說(shuō)明你真正安裝成功

4248528-b0bd425ae47e43ce.png

輸入對(duì)應(yīng)目錄下的密碼僚祷,就可以進(jìn)入安裝插件流程
662374-094874167b638c59.png

如果出現(xiàn)提示:該jenkins實(shí)例似乎已離線
1235834-20180723182750635-283997720.png

打開鏈接(http://localhost:8080/pluginManager/advanced
)打開配置頁(yè)面,把其中的https改為http贮缕,然后提交(submmit)辙谜,重新打開Jenkins
20181025171101993.png

如果出現(xiàn)一直處于加載狀態(tài),請(qǐng)耐心等待感昼,當(dāng)然也可以多刷新幾次頁(yè)面装哆,安裝默認(rèn)插件過(guò)程中,報(bào)如果提示缺少cloudbees-folder的定嗓,可以前往這里下載其插件cloudbees-folder
然后拷貝到下圖位置

58622a922485c.png

如果出現(xiàn)下圖蜕琴,說(shuō)明插件正在安裝
662374-68017ebd29bea476.png

接下來(lái)就是漫長(zhǎng)的等待,如果中途等不耐煩宵溅,刷新頁(yè)面奸绷,可能會(huì)提示重新安裝,不過(guò)不影響安裝結(jié)果层玲,點(diǎn)重新就可以号醉。
可能安裝完了很多插件都沒安裝成功反症,如圖
662374-8d9318127a6607fe.png

不管它先,點(diǎn)擊繼續(xù)畔派,就進(jìn)入登陸賬號(hào)頁(yè)面铅碍,你可以創(chuàng)建賬號(hào),也可以點(diǎn)擊continue as admin
662374-d05dc4decff1f9a0.png

顯示ready頁(yè)面线椰,就說(shuō)明jenkins啟動(dòng)成功了胞谈。
662374-b084a13d336d98b8.png

3.安裝插件
3.1iOS的常用插件基本是:

Xcode integration
Git client plugin
Git plugin
PostBuildScript Plugin

其中postbuildscript是構(gòu)建后,提交到fir時(shí)憨愉,需要用到
3.2插件安裝方法
jenkins首頁(yè)—>系統(tǒng)管理—>管理插件—>可選插件—>過(guò)濾搜索—>直接安裝


662374-489f7fe2b29bd1d0.png
662374-709e4943723a0580.png

這里就可以先把之前沒有安裝成功的插件再次安裝烦绳,最好是安裝失敗的插件安裝成功了,再安裝ios項(xiàng)目需要的幾個(gè)插件
4.jenkins項(xiàng)目的配置使用
4.1新建項(xiàng)目:Jenkins首頁(yè)—>新建
(1)General:根據(jù)需要選擇
a)項(xiàng)目名稱(Enter an itemname配紫;類型:構(gòu)建一個(gè)自由網(wǎng)格的軟件項(xiàng)目)
b)項(xiàng)目描述


662374-fb286a86069a12a6.png

屏幕快照 2019-07-27 上午11.43.34.png

4.2.源碼管理
這部分主要是從哪獲取代碼径密,SVN或者GIT,我的項(xiàng)目用了GIT
情況1:Git(路徑躺孝、帳號(hào)享扔、密碼)
情況2:Subversion(路徑、帳號(hào)植袍、密碼)
情況3:None(使用本地項(xiàng)目)


屏幕快照 2019-07-27 上午11.49.47.png

4.3構(gòu)建觸發(fā)器:根據(jù)需要選擇(可不選)
662374-ae542d99321b67fb.png

4.4構(gòu)建環(huán)境
我沒做處理
4.5因?yàn)槭莤code10,只能使用腳本進(jìn)行惧眠,而又由于項(xiàng)目用了cocopods進(jìn)行第三方管理,所以需要先添加pod update的腳本于个,再加構(gòu)建項(xiàng)目編譯打包腳本氛魁。
屏幕快照 2019-07-27 下午12.07.05.png

這里說(shuō)下${WORKSPACE}這個(gè)環(huán)境變量:
代表的是:/Users/用戶名/.jenkins/workspace
具體的構(gòu)建腳本

#bin/bsah - l
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
cd $WORKSPACE/xxxxx
/usr/local/bin/pod update --verbose --no-repo-update
#!/bin/bash -l
SHCEME=xxxxx
CONFIGURATION=Debug
WORKSPACE_PATH=${WORKSPACE}/xxxx.xcworkspace
#PROFILE_NAME=“xxxxx”
#CODE_SIGN="iPhone Developer: xxxxx (xxxxx)"
EXPORT_OPTIONS=${WORKSPACE}/ExportOptions.plist
ArchivePath=${WORKSPACE}/build/xxxxx.xcarchive
PacktName=${WORKSPACE}/build/xxxxx.ipa
#CODE_SIGN_IDENTITY="$CODE_SIGN" PROVISIONING_PROFILE_SPECIFIER="$PROFILE_NAME"
#xcodebuild clean -project xxxxx.xcodeproj -scheme $SHCEME -configuration $CONFIGURATION -alltargets
xcodebuild archive -workspace ${WORKSPACE_PATH} -scheme ${SHCEME} -configuration ${CONFIGURATION} -sdk iphoneos -archivePath ${ArchivePath}
xcodebuild -exportArchive -archivePath ${ArchivePath} -exportPath ${PacktName} -exportOptionsPlist ${EXPORT_OPTIONS}

重點(diǎn)在于ExportOptions.plist是要自己放在指定目錄里的,否則就會(huì)報(bào)錯(cuò)厅篓。xxxxx是項(xiàng)目名或者證書名

4.6.構(gòu)建后操作
上傳fir:
有兩種方法:
4.6.1可以直接上傳fir插件fir-plugin到j(luò)enkins插件
然后就構(gòu)建后操作就多了個(gè)upload to fir.im


屏幕快照 2019-07-27 下午12.34.52.png

屏幕快照 2019-07-27 下午12.35.25.png

5.點(diǎn)擊保存秀存,然后點(diǎn)擊構(gòu)建就可以了〈眩可以點(diǎn)擊下圖应又,查看后臺(tái)進(jìn)度宙项,尤其是報(bào)錯(cuò)時(shí)乏苦,可以查看具體報(bào)錯(cuò)


屏幕快照 2019-07-27 下午12.39.44.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市尤筐,隨后出現(xiàn)的幾起案子汇荐,更是在濱河造成了極大的恐慌,老刑警劉巖盆繁,帶你破解...
    沈念sama閱讀 212,542評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件掀淘,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡油昂,警方通過(guò)查閱死者的電腦和手機(jī)革娄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門倾贰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人拦惋,你說(shuō)我怎么就攤上這事匆浙。” “怎么了厕妖?”我有些...
    開封第一講書人閱讀 158,021評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵首尼,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我言秸,道長(zhǎng)软能,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,682評(píng)論 1 284
  • 正文 為了忘掉前任举畸,我火速辦了婚禮查排,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘俱恶。我一直安慰自己雹嗦,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評(píng)論 6 386
  • 文/花漫 我一把揭開白布合是。 她就那樣靜靜地躺著了罪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪聪全。 梳的紋絲不亂的頭發(fā)上泊藕,一...
    開封第一講書人閱讀 49,985評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音难礼,去河邊找鬼娃圆。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蛾茉,可吹牛的內(nèi)容都是我干的讼呢。 我是一名探鬼主播,決...
    沈念sama閱讀 39,107評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼谦炬,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼悦屏!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起键思,我...
    開封第一講書人閱讀 37,845評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤础爬,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后吼鳞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體看蚜,經(jīng)...
    沈念sama閱讀 44,299評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評(píng)論 2 327
  • 正文 我和宋清朗相戀三年赔桌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了供炎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渴逻。...
    茶點(diǎn)故事閱讀 38,747評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖音诫,靈堂內(nèi)的尸體忽然破棺而出裸卫,到底是詐尸還是另有隱情,我是刑警寧澤纽竣,帶...
    沈念sama閱讀 34,441評(píng)論 4 333
  • 正文 年R本政府宣布墓贿,位于F島的核電站,受9級(jí)特大地震影響蜓氨,放射性物質(zhì)發(fā)生泄漏聋袋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評(píng)論 3 317
  • 文/蒙蒙 一穴吹、第九天 我趴在偏房一處隱蔽的房頂上張望幽勒。 院中可真熱鬧,春花似錦港令、人聲如沸啥容。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)咪惠。三九已至,卻和暖如春淋淀,著一層夾襖步出監(jiān)牢的瞬間遥昧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工朵纷, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留炭臭,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,545評(píng)論 2 362
  • 正文 我出身青樓袍辞,卻偏偏與公主長(zhǎng)得像鞋仍,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子搅吁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容