前言
??在日常的開(kāi)發(fā)工作中給測(cè)試同學(xué)打包測(cè)試是很正常的流程,但是每次都通過(guò)Xcode archive來(lái)生成測(cè)試包然后再導(dǎo)出芙委,然后在上傳到三方測(cè)試網(wǎng)站(蒲公英、fir等),一次兩次感覺(jué)沒(méi)有什么狂秦。但是一次次重新打包灌侣,之后就是全部重復(fù)無(wú)意義的工作,就會(huì)感覺(jué)很煩了故痊,于是我想到了用自動(dòng)化打包來(lái)說(shuō)實(shí)現(xiàn)這個(gè)工作顶瞳。
Jenkins是什么?
??Jenkins是一個(gè)功能強(qiáng)大的應(yīng)用程序愕秫,允許持續(xù)集成和持續(xù)交付項(xiàng)目慨菱,無(wú)論用的是什么平臺(tái)。這是一個(gè)免費(fèi)的源代碼戴甩,可以處理任何類(lèi)型的構(gòu)建或持續(xù)集成符喝。集成Jenkins可以用于一些測(cè)試和部署技術(shù)。
1甜孤、在macOS上安裝Jenkins
??在Jenkins官網(wǎng)下載Jenkins安裝包协饲。
??
??按照提示安裝成功會(huì)自動(dòng)在瀏覽器打開(kāi)http://localhost:8080。(如果提示無(wú)法連接服務(wù)器或者沒(méi)有自動(dòng)打開(kāi)很有可能是java jdk的版本和Jenkins的版本不對(duì)應(yīng)缴川,也可以通過(guò)這里進(jìn)行安裝
)茉稠。
沒(méi)有啟動(dòng)成功的話(huà)運(yùn)行下面代碼手動(dòng)啟動(dòng):
brew services start jenkins
??打開(kāi)Finder前往文件夾
??secrets文件夾和initialAdminPassword文件都有權(quán)限訪(fǎng)問(wèn)問(wèn)題,收到手動(dòng)設(shè)置這兩個(gè)文件everyone讀和寫(xiě)然后打開(kāi)initialAdminPassword文件復(fù)制里面密碼到該頁(yè)面點(diǎn)擊繼續(xù)把夸。
也可執(zhí)行此代碼獲取密碼
sudo cat /Users/Shared/Jenkins/Home/secrets/initialAdminPassword
??設(shè)置用戶(hù)名密碼繼續(xù)而线。(There were errors checking the update sites: SSLHandshakeException: sun.secu)
接下來(lái)就可以看到Jenkins首頁(yè)了:
??安裝nodejs插件:
到此為止Jenkins安裝就已經(jīng)完成了。
2恋日、構(gòu)建一個(gè)本地版本的項(xiàng)目
如上面Jenkins首頁(yè)所示點(diǎn)擊新建item創(chuàng)建一個(gè)項(xiàng)目:
如上圖所示構(gòu)建一個(gè)項(xiàng)目膀篮。
構(gòu)建本地包的話(huà)不需要配置遠(yuǎn)程倉(cāng)庫(kù)相關(guān),直接去構(gòu)建一個(gè)shell程序即可:
#!/bin/bash
export LC_ALL=en_US.UTF-8
cd 你的項(xiàng)目路徑
fastlane test
這里是分別說(shuō)一下各個(gè)語(yǔ)句的作用:
1)#!/bin/bash
是設(shè)置日志內(nèi)存相關(guān)不加這個(gè)有可能導(dǎo)致構(gòu)建失敗岂膳。
2)export LC_ALL=en_US.UTF-8
設(shè)置編碼格式相關(guān)報(bào)invalid byte sequence in US-ASCII錯(cuò)誤的時(shí)候可以加上誓竿。
3)剩下的兩個(gè)就是利用fastlane自動(dòng)打包上傳的代碼這個(gè)可以參考我的另一篇文章http://www.reibang.com/p/0eda1c3b5445。
最后點(diǎn)擊應(yīng)用保存返回到主頁(yè)谈截。點(diǎn)擊開(kāi)始打包
可以點(diǎn)擊這里查看控制臺(tái)輸出:
最后給自己電腦分配一個(gè)靜態(tài)ip筷屡、同一個(gè)局域網(wǎng)的同事們就可以通過(guò)這個(gè)ip訪(fǎng)問(wèn)你的主機(jī)進(jìn)行打包啦涧偷,這樣就省去了每次都需要開(kāi)發(fā)人員手動(dòng)操作的過(guò)程。
- 下載fir插件http://blog.fir.im/jenkins/
遇到的問(wèn)題
-
scheme shared
這里去你的項(xiàng)目里面-edit scheme--> manage scheme :
把share勾選上即可速蕊。
重啟Jenkins服務(wù):
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
java -jar /Applications/Jenkins/jenkins.war --httpPort=8080
- Operation not permitted
在執(zhí)行shell腳本的時(shí)候出現(xiàn)Operation not permitted
從而不能正常打包的問(wèn)題嫂丙,需要關(guān)閉MACSIP
服務(wù)參考這里關(guān)閉。