fastlane簡易使用打包上傳

zypsusu發表於2018-01-03

昨天完成jenkins的基本搭建和使用後,開始瞭解fastlane,這個開源專案竟然來自麻省理工,用於iOS and Android apps的打包上傳,但開放外掛後,功能更多了,具體可以檢視https://docs.fastlane.tools。 fastlane的安裝可以檢視https://github.com/fastlane/fastlane,其實也非常簡單,直接sudo gem install fastlane -NV,當然我是在安裝好homebrew後安裝的ruby下進行的,用系統的ruby我這裡會報許可權報錯,即使前面加sudo也沒用。

安裝好fastlane後,進到專案目錄進行初始化,cd /Users/zypsusu/TuoDao,fastlane  init, 應該我們專案已經上線appstroe,所以只需要輸入開發賬號,密碼就可以,初始化後悔生成fastlane資料夾,裡面包含了許多檔案,對Fastfile進行改寫就能完成我打包上傳到fir的目的。因為個人不怎麼懂ruby,所以也是網上照抄別人的,在# You can define as many lanes as you want 後面加上自己定義的lane

lane :uploadFir do
# gym用來編譯ipa
gym(scheme: "TuoDaoZiBen-iOS",
output_name: "ceshi",
clean: true,
export_method: "development",
output_directory: "/Users/zypsusu/Desktop/firim"
)
# 上傳ipa到fir.im伺服器,在fir.im獲取firm_api_token
firim(firim_api_token: "f41c1049772c7ef6f0748d04718a01a7")
end
複製程式碼

gym是專門用於打包的,它有很多引數,export_method 應該是按何種型別匯出,類似那4個選項,打其他型別的包就可以用app-store, ad-hoc, package, enterprise, development, developer-id來替換上面的值來完成另外一種型別的打包,還有各個引數具體參見https://docs.fastlane.tools/actions/#gym,上面最重要的export_method指定後,證書也不需要再去指定了,然後xcode本身我選的就是自動管理證書,這樣省事多了,firim這個是我找到的fastlane的一個外掛,支援上傳ipa到fir上,執行這個外掛需要進行新增安裝  fastlane add_plugin firim。 編寫後Fastfile後就可以進行打包上傳了,cd到專案目錄,直接 fastlane  uploadFir ,然後就可以做其他的了。

上面的已經滿足我的需求,打包上傳到fir,fastlane十分強大,單獨使用比jenkins的配置簡單許多,jenkins還需要對指令碼進行維護之類。然後最後一步的上傳fir以為用sh,或者ruby來執行fir-cli的上傳指令就行,sh("fir p /Users/zypsusu/Desktop/firim/ceshi.ipa -T f41c1049772c7ef6f0748d04718a01a7")但是這樣寫不識別報錯,換了ruby也不行,只找到上面的firim,如果有另外執行上傳的方法希望告訴我。。。 還有ipa的輸出路徑可以設定成專案目錄內這樣就不用分電腦打包時改路徑了。。。

看了N篇文章後,對fastlane有個基本認識吧,sigh證書的更新,如果前面用了sigh,後面的gym使用證書沒指定的話會根據上下文來。fastlane的gym主要是省去了指令碼的維護,我是這樣理解的,然後自動化打包暫時就瞭解到這吧,畢竟已經滿足使用了。

參考:https://zhuanlan.zhihu.com/p/23180455

http://www.jianshu.com/p/840943eff17b

相關文章