iOS項目持續集成與自動化構建基礎平臺
平臺需求背景
1.日常項目開發過程中,測試一天內需要多個新包去驗證問題.開發手動打包需要切換環境,中斷開發中的功能,測試人員等候時間長,效率低.
2.手工打包,測試人員不清楚各個版本功能的變更.需要人工確認版本修改的內容,并且沒有記錄.
3.目前依靠人力進行代碼質量的保障,自動化測試程度低,可靠性差.
4.編譯不過的代碼推送到服務器導致其他組員更新最新代碼后編譯不通過,影響開發效率的問題.
4.產品/設計發版前才拿到新版本的開發包進行產品的驗收,導致問題反饋過晚.
為了解決這些問題,需要進行iOS項目持續集成與自動化構建基礎平臺的建設.
平臺目標
1.提供基于jenkins+xctool的iOS項目自動化構建平臺,解決測試人員依賴開發手工打包效率低的問題.
2.提供基于jenkins+gitlab commit自動化紀錄與展示版本內容變動的功能,便于測試人員問題回歸與驗證.
3.對外提供夜間自動化構建發布功能,外部人員(PD/PM/UED/..)每天都可郵件接收到最新的包,進行問題的早期的發現與反饋.
4.持續集成,開發人員提交代碼后自動觸發構建,編譯不過,郵件通知.
5.服務其它iOS項目.
6.優化打包過程,減少打包時間.
平臺遠期規劃
目標:提高自動化測試程度,提高可靠性和降低人力消耗.
1.探索 基于Specta和Expecta來測試我們的iOS項目.
生成可視化的Test Result Trend Report.
2.基于 Gcovr工具來生成代碼覆蓋率報告.
3.基于 OCLint的靜態分析,自動報告破壞代碼風格規則的代碼位置.
4.測試人員根據測試結果 選取打包平臺上面的包自動上傳App Store.