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