iOS持續部署平台(一) SHENZHEN

2021-07-04 00:12:01 字數 1610 閱讀 1847

專案進入測試階段後,打包和分發會比較頻繁,如果總是開發人員手動來處理不僅耽誤時間,而且影響自己解決一些問題的思路。特別是當分發的渠道不同時,或者是涉及到不同描述檔案,再就是截圖的提交,證書的申請……總之都跟碼磚沒啥關係,耽誤事兒。

這時我們就很有必要構建乙個自己的持續部署平台了,簡單的說就是一鍵完成各衝渠道的打包分發。可能有人會自己寫指令碼,用到過xcodebuild,xctool,xcrun……當然也有不折騰的懶人,所以我在此介紹的下fastlane,乙個工具集,來快速的構建持續部署平台。

不過在此之前先介紹下afnetworking的作者@matt寫的乙個工具打包和分發shenzhen。

安裝shenzhen之後,會引入ipa命令,

1

$ gem install shenzhen

常用的命令有:

1

2

3

$ ipa build

$ ipa distribute:platform

$ ipa info ***.ipa

build生成乙個完成打包,生成ipa檔案;distribute完成分發,支援的平台有:

rivierabuild,hockey,crashlytics,deploygate,firim,itunesconnect,pgyer,ftp,s3,testfairy

具體到每個平台都有引數都會不同,各位可以去shenzhen檢視。

比如要發布到crashlytics為例:

1

2

$ ipa build

$ ipa distribute:crashlytics -c /path/to/crashlytics.framework -a api_token -s build_secret

最後info可以檢視ipa裡描述檔案的資訊,效果如下:

具體的使用很簡單,其主頁上都有,我就講下2個坑。

build會以xcode中的provisioning profile為準打包。這個還是不太好,所以實際過程中我們需要這樣使用

1

2

$ ipa build --embed ***x.mobileprovision --identity ***x

$ ipa distribute:crashlytics -c /path/to/crashlytics.framework -a api_token -s build_secret

這有個bug,也許是個別問題。如果省略–identity ***x,–embed命令則會被忽略,生成的ipa證書依然是xcode中設定的。

當你加上描述檔案等引數時如果出現這個問題

「warning: –resource-rules has been deprecated in mac os x >= 10.10」

在xcode的build settings裡找到code signing resource rules path,加上 $(sdkroot)/resourcerules.plist

構建iOS持續整合平台

自動化構建和依賴管理篇 url 測試框架篇 url ci伺服器和自動化部署篇 url 優勢 list 跨平台,支援ios,mac,android testflight只支援ios 穩定,服務down掉的概率比testflight高很多 提供和bug追蹤系統 jira 的整合 提供了比較完善的api幫...

ITOO系統 K8s部署(一)

在每個節點安裝依賴工具 ubuntu 16.04 執行以下指令碼 文件中指令碼預設均以root使用者執行 apt get update apt get upgrade y apt get dist upgrade y 安裝python2 apt get install python2.7 ubunt...

一鍵部署k8s

本人學習安裝kubernetes時,順便整理了安裝指令碼,可以通過執行乙個指令碼,自動二進位制安裝好1臺master 2臺node的k8環境。方便需要學習k8s的同學。提取碼 ndtq 指令碼說明 系統環境 centos 7 純淨系統 只適用部署1臺master 2臺node 如果要加node可參照...