Weitere ähnliche Inhalte
Ähnlich wie Beta testing with CI (20)
Beta testing with CI
- 2. Before TestFlight
• 把⼿手機給RD,RD會把測試版App放到⼿手機
• 無形之中RD⼀一直被中斷
• PM拿到app不知道跟更新哪些功能(所以會問
• 某個功能⼀一下好⼀一下壞
- 4. At first
• 功能做到哪了?!
• 什麼時候可以測?!
• 最新版在哪下載?!
• 這⼀一版哪些功能可以測?!
• 那個醬也要安裝測試版
- 5. At first
• 你問的是哪⼀一個功能?!
• 就還沒做完怎麼測?!
• 不是都有寄email嗎?!
• 你可以⾃自⼰己看ticket阿!
• 怎麼⼜又要加⼈人了
- 6. The gap
• 功能做到哪了?!
• 什麼時候可以測?!
• 最新版在哪下載?!
• 這⼀一版哪些功能可以測?!
• 那個醬也要安裝測試版
• 你問的是哪⼀一個功能?!
• 就還沒做完怎麼測?!
• 不是都有寄email嗎?!
• 你可以⾃自⼰己看ticket阿!
• 怎麼⼜又要加⼈人了
PM: 看不到進度很不安RD: 寫Code就很累了
PM還⼀一直打斷我
- 17. Without TestFlight
• 封裝.ipa
• 上傳.ipa並取得url
• 製作.plist放上ipa的url
• 撰寫Release Note
• 寄群組信 (常常要更新群組)
- 18. • 封裝.ipa
• 上傳.ipa並取得url 拖曳上傳.ipa
• 製作.plist放上ipa的url
• 撰寫Release Note
• 寄群組信 (常常要更新群組)
給PM管理測試⼈人員(TestFlight群組)
發佈版本時⾃自動寄信
- 19. Without CI
commit
build .ipa
release note
debug
takes 5 ~ 10 mins
takes 5 ~ 10 mins
- 22. 懶惰沒有極限
• 封裝.ipa
• 上傳.ipa並取得url 拖曳上傳.ipa
• 製作.plist放上ipa的url
• 撰寫⾃自動產⽣生Release Note
• 寄群組信 (常常要更新群組)
給PM管理測試⼈人員(TestFlight群組)
發佈版本時⾃自動寄信
- 24. CI還可以做什麼
• 建置source code
• 執⾏行測試(各種⾃自動化測試)
Monkey Test
Unit Test
API Test
• 執⾏行程式碼分析(靜態與動態程式碼分析)
• ⾃自動部屬幫你把App交付給Tester
- 25. CI的⺫⽬目的
• 降低⾵風險
• 減少⼈人⼯工⼿手動的繁複程序
• 可隨時產⽣生⼀一版可部署的版本
• 增加系統透明度
每天「⾃自動」健康檢查
- 27. Dev
commit pull
code analysis
build
check issue
report issue
unit test
Without CI
Dev
Take long time.
- 28. Dev
commit pull
code analysis
build
check issue
report issue
unit test
With CI
Take short time.
- 29. Why Jenkins
• 整合RSS/Email通知
• ⽀支援分散式架構
• ⼤大量豐富的套件
• iOS & Android support
- 30. Our Jenkins Job for iOS
• Pull from GitLab
• Run test
• Build & Archive
• Upload to testFlight
with Release Note
pull
unit test
build
upload
- 34. 進階CI應⽤用
• Auto Build & Unit Test!
• Monkey Test
• Test Code Coverage
• Coding Style Check
• Merge to Master Build
• Upload to testFlight
- 37. 檔案配置考量
Q. 把Pfile 放在repo裡⾯面?
換Pfile 可以直接蓋過去
(需要完整bundle id的app時)
Q. 把Build & Archive的script直接放在repo?
在Local端可以確認script build