Enviar pesquisa
Carregar
Beta testing with CI
•
17 gostaram
•
1,344 visualizações
Liyao Chen
Seguir
使用Redmine + Git + TestFlight + Jenkins幫助加速 App開發流程,讓PM安心,RD靜心,BOSS開心。
Leia menos
Leia mais
Engenharia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 40
Baixar agora
Baixar para ler offline
Recomendados
Hockey Kit for Android
Hockey Kit for Android
旭辰 羅
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
Miles Chou
试玩前端测试的前因后果
试玩前端测试的前因后果
hahaxiaolaohu
试玩前端测试的前因后果
试玩前端测试的前因后果
Zhicheng Wang
使用Hudson打造屬於你自己的軟體建構機器人
使用Hudson打造屬於你自己的軟體建構機器人
javatwo2011
Running a Service in Production without Losing Your Sanity
Running a Service in Production without Losing Your Sanity
Poga Po
導入 Flutter 前你應該知道的事
導入 Flutter 前你應該知道的事
Weizhong Yang
做自己的可可豆夾 @ cocoahead.tw
做自己的可可豆夾 @ cocoahead.tw
Kai-Yuan Cheng
Recomendados
Hockey Kit for Android
Hockey Kit for Android
旭辰 羅
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
Miles Chou
试玩前端测试的前因后果
试玩前端测试的前因后果
hahaxiaolaohu
试玩前端测试的前因后果
试玩前端测试的前因后果
Zhicheng Wang
使用Hudson打造屬於你自己的軟體建構機器人
使用Hudson打造屬於你自己的軟體建構機器人
javatwo2011
Running a Service in Production without Losing Your Sanity
Running a Service in Production without Losing Your Sanity
Poga Po
導入 Flutter 前你應該知道的事
導入 Flutter 前你應該知道的事
Weizhong Yang
做自己的可可豆夾 @ cocoahead.tw
做自己的可可豆夾 @ cocoahead.tw
Kai-Yuan Cheng
Phalcon2014 Startup
Phalcon2014 Startup
Steve Luo
JSDC 2015 React-Native 實戰
JSDC 2015 React-Native 實戰
Sam Lee
quick_orm 简介
quick_orm 简介
tyler4long
Android 逆向工程心得分享
Android 逆向工程心得分享
EnPing Eric Hsieh
React native redux_sharing
React native redux_sharing
Sam Lee
中文化EPUB Validator
中文化EPUB Validator
Taiwan Digital Publishing Forum
Angular 深入淺出測試篇:新手入門
Angular 深入淺出測試篇:新手入門
志龍 陳
Appium手机自动化测试 tester home公开课
Appium手机自动化测试 tester home公开课
lihuazhang
Flutter 踩雷心得
Flutter 踩雷心得
Weizhong Yang
Dart null safety
Dart null safety
Weizhong Yang
Github Actions
Github Actions
Weizhong Yang
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
Chen Cheng-Wei
Angular Testing for Book Club Online of Angular Taiwan
Angular Testing for Book Club Online of Angular Taiwan
志龍 陳
給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發
Weizhong Yang
React-Native share
React-Native share
Eddie Hsu
Angular從入門到實戰(二)
Angular從入門到實戰(二)
志龍 陳
利用Nchan快速打造即時通知系統
利用Nchan快速打造即時通知系統
herb herb
Angular從入門到實戰(一)
Angular從入門到實戰(一)
志龍 陳
Schematics 實戰
Schematics 實戰
志龍 陳
The way to continuous delivery
The way to continuous delivery
Qiao Liang
саранчимэг цахим судалгаа 1
саранчимэг цахим судалгаа 1
saraa79
Sujith cv[1][1][1](2)1
Sujith cv[1][1][1](2)1
sujiththambi
Mais conteúdo relacionado
Mais procurados
Phalcon2014 Startup
Phalcon2014 Startup
Steve Luo
JSDC 2015 React-Native 實戰
JSDC 2015 React-Native 實戰
Sam Lee
quick_orm 简介
quick_orm 简介
tyler4long
Android 逆向工程心得分享
Android 逆向工程心得分享
EnPing Eric Hsieh
React native redux_sharing
React native redux_sharing
Sam Lee
中文化EPUB Validator
中文化EPUB Validator
Taiwan Digital Publishing Forum
Angular 深入淺出測試篇:新手入門
Angular 深入淺出測試篇:新手入門
志龍 陳
Appium手机自动化测试 tester home公开课
Appium手机自动化测试 tester home公开课
lihuazhang
Flutter 踩雷心得
Flutter 踩雷心得
Weizhong Yang
Dart null safety
Dart null safety
Weizhong Yang
Github Actions
Github Actions
Weizhong Yang
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
Chen Cheng-Wei
Angular Testing for Book Club Online of Angular Taiwan
Angular Testing for Book Club Online of Angular Taiwan
志龍 陳
給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發
Weizhong Yang
React-Native share
React-Native share
Eddie Hsu
Angular從入門到實戰(二)
Angular從入門到實戰(二)
志龍 陳
利用Nchan快速打造即時通知系統
利用Nchan快速打造即時通知系統
herb herb
Angular從入門到實戰(一)
Angular從入門到實戰(一)
志龍 陳
Schematics 實戰
Schematics 實戰
志龍 陳
The way to continuous delivery
The way to continuous delivery
Qiao Liang
Mais procurados
(20)
Phalcon2014 Startup
Phalcon2014 Startup
JSDC 2015 React-Native 實戰
JSDC 2015 React-Native 實戰
quick_orm 简介
quick_orm 简介
Android 逆向工程心得分享
Android 逆向工程心得分享
React native redux_sharing
React native redux_sharing
中文化EPUB Validator
中文化EPUB Validator
Angular 深入淺出測試篇:新手入門
Angular 深入淺出測試篇:新手入門
Appium手机自动化测试 tester home公开课
Appium手机自动化测试 tester home公开课
Flutter 踩雷心得
Flutter 踩雷心得
Dart null safety
Dart null safety
Github Actions
Github Actions
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
Angular Testing for Book Club Online of Angular Taiwan
Angular Testing for Book Club Online of Angular Taiwan
給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發
React-Native share
React-Native share
Angular從入門到實戰(二)
Angular從入門到實戰(二)
利用Nchan快速打造即時通知系統
利用Nchan快速打造即時通知系統
Angular從入門到實戰(一)
Angular從入門到實戰(一)
Schematics 實戰
Schematics 實戰
The way to continuous delivery
The way to continuous delivery
Destaque
саранчимэг цахим судалгаа 1
саранчимэг цахим судалгаа 1
saraa79
Sujith cv[1][1][1](2)1
Sujith cv[1][1][1](2)1
sujiththambi
Partner update 17 October 2014
Partner update 17 October 2014
newcastlegateshead
Bio 120 presentation 1
Bio 120 presentation 1
desntay2
Hilton Teacher Treks - Lauren McDonnell Supplement
Hilton Teacher Treks - Lauren McDonnell Supplement
AmericanLit_VOCAB
Key Clinical Implications of how a Cancer Evolves
Key Clinical Implications of how a Cancer Evolves
H. Jack West
Prezentare liceu
Prezentare liceu
Pishta Bmc
Egypt
Egypt
Leslie Méndez
iOS Unit testing II
iOS Unit testing II
Liyao Chen
Ti32 Data Sheet
Ti32 Data Sheet
FlukeinMalta
Ellis island
Ellis island
leslyn0329
Acta 2011 mar 08
Acta 2011 mar 08
Cristian Cabezas Diaz
Daniela pict
Daniela pict
nsasu94
ProtectIV
ProtectIV
Henrique Outeda
El rol del formador 2
El rol del formador 2
ICE_URV_NU
Fisk escabeche
Fisk escabeche
heleverdeniskole
Smoking
Smoking
ashleystube
Chapter 10 presentation
Chapter 10 presentation
desntay2
2011 05-28 dr. john wright
2011 05-28 dr. john wright
The Scarborough Hospital
Open stack
Open stack
Andrey Tokarchuk
Destaque
(20)
саранчимэг цахим судалгаа 1
саранчимэг цахим судалгаа 1
Sujith cv[1][1][1](2)1
Sujith cv[1][1][1](2)1
Partner update 17 October 2014
Partner update 17 October 2014
Bio 120 presentation 1
Bio 120 presentation 1
Hilton Teacher Treks - Lauren McDonnell Supplement
Hilton Teacher Treks - Lauren McDonnell Supplement
Key Clinical Implications of how a Cancer Evolves
Key Clinical Implications of how a Cancer Evolves
Prezentare liceu
Prezentare liceu
Egypt
Egypt
iOS Unit testing II
iOS Unit testing II
Ti32 Data Sheet
Ti32 Data Sheet
Ellis island
Ellis island
Acta 2011 mar 08
Acta 2011 mar 08
Daniela pict
Daniela pict
ProtectIV
ProtectIV
El rol del formador 2
El rol del formador 2
Fisk escabeche
Fisk escabeche
Smoking
Smoking
Chapter 10 presentation
Chapter 10 presentation
2011 05-28 dr. john wright
2011 05-28 dr. john wright
Open stack
Open stack
Semelhante a Beta testing with CI
Tip for Editors
Tip for Editors
Chun-Yu Tseng
Test corner #20 誰說只有測試金字塔
Test corner #20 誰說只有測試金字塔
yinwilliam
不妥協的河蟹之道
不妥協的河蟹之道
Ken Kuan
[VideOhya] Titanium開發經驗分享_1020
[VideOhya] Titanium開發經驗分享_1020
Taiwan Titanium User Group
2012,我的技术之选
2012,我的技术之选
勇浩 赖
該怎麼樣(認真的)部署你的 Python Web 應用程式?
該怎麼樣(認真的)部署你的 Python Web 應用程式?
Andy Dai
Component Unit Test
Component Unit Test
William Wang
Mobile app的測試v2
Mobile app的測試v2
Mr PM
iOS产品如何实现快速版本发布
iOS产品如何实现快速版本发布
Bin Feng
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
Alan Tsai
The clean coder
The clean coder
Andy Cheng
快速生成FAQ Bot - 使用Azure Language Service LanguageService-03-FAQbot (微軟)(鐘祥仁)(20...
快速生成FAQ Bot - 使用Azure Language Service LanguageService-03-FAQbot (微軟)(鐘祥仁)(20...
AllenLi78
柴锋 跨平台移动应用的自动化验收测试
柴锋 跨平台移动应用的自动化验收测试
Trinea Trinea
敏捷测试中的工具实现
敏捷测试中的工具实现
drewz lin
使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)
Max Lai
Xpp
Xpp
drewz lin
RSpec & TDD Tutorial
RSpec & TDD Tutorial
Wen-Tien Chang
Cppunit下載、編譯、使用與困難排除
Cppunit下載、編譯、使用與困難排除
Chris Wang
Legacy code 讀書會 1st (Ch1 - Ch5)
Legacy code 讀書會 1st (Ch1 - Ch5)
Fong Liou
除錯、測試與效能
除錯、測試與效能
Justin Lin
Semelhante a Beta testing with CI
(20)
Tip for Editors
Tip for Editors
Test corner #20 誰說只有測試金字塔
Test corner #20 誰說只有測試金字塔
不妥協的河蟹之道
不妥協的河蟹之道
[VideOhya] Titanium開發經驗分享_1020
[VideOhya] Titanium開發經驗分享_1020
2012,我的技术之选
2012,我的技术之选
該怎麼樣(認真的)部署你的 Python Web 應用程式?
該怎麼樣(認真的)部署你的 Python Web 應用程式?
Component Unit Test
Component Unit Test
Mobile app的測試v2
Mobile app的測試v2
iOS产品如何实现快速版本发布
iOS产品如何实现快速版本发布
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
The clean coder
The clean coder
快速生成FAQ Bot - 使用Azure Language Service LanguageService-03-FAQbot (微軟)(鐘祥仁)(20...
快速生成FAQ Bot - 使用Azure Language Service LanguageService-03-FAQbot (微軟)(鐘祥仁)(20...
柴锋 跨平台移动应用的自动化验收测试
柴锋 跨平台移动应用的自动化验收测试
敏捷测试中的工具实现
敏捷测试中的工具实现
使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)
Xpp
Xpp
RSpec & TDD Tutorial
RSpec & TDD Tutorial
Cppunit下載、編譯、使用與困難排除
Cppunit下載、編譯、使用與困難排除
Legacy code 讀書會 1st (Ch1 - Ch5)
Legacy code 讀書會 1st (Ch1 - Ch5)
除錯、測試與效能
除錯、測試與效能
Mais de Liyao Chen
KKBOX WWDC17 Xcode IDE - Hardy
KKBOX WWDC17 Xcode IDE - Hardy
Liyao Chen
KKBOX WWDC17 Xcode debug - Oliver
KKBOX WWDC17 Xcode debug - Oliver
Liyao Chen
KKBOX WWDC17 WatchOS - Dada
KKBOX WWDC17 WatchOS - Dada
Liyao Chen
KKBOX WWDC17 UIKit Drag and Drop - Mario
KKBOX WWDC17 UIKit Drag and Drop - Mario
Liyao Chen
KKBOX WWDC17 UIKit - QQ
KKBOX WWDC17 UIKit - QQ
Liyao Chen
KKBOX WWDC17 Swift and Foundation - Liyao
KKBOX WWDC17 Swift and Foundation - Liyao
Liyao Chen
KKBOX WWDC17 SiriKit and CoreSpotlight - Seraph
KKBOX WWDC17 SiriKit and CoreSpotlight - Seraph
Liyao Chen
KKBOX WWDC17 Security - Antony
KKBOX WWDC17 Security - Antony
Liyao Chen
KKBOX WWDC17 Performance and Testing - Hokila
KKBOX WWDC17 Performance and Testing - Hokila
Liyao Chen
KKBOX WWDC17 Notification and Autolayout - Jefferey
KKBOX WWDC17 Notification and Autolayout - Jefferey
Liyao Chen
KKBOX WWDC17 Airplay 2 - Dolphin
KKBOX WWDC17 Airplay 2 - Dolphin
Liyao Chen
KKBOX WWDC17 Core Image - Daniel Tien
KKBOX WWDC17 Core Image - Daniel Tien
Liyao Chen
Auto Layout part 1
Auto Layout part 1
Liyao Chen
iOS Unit test getting stared
iOS Unit test getting stared
Liyao Chen
Continuous Integration
Continuous Integration
Liyao Chen
iOS Design to Code - Code
iOS Design to Code - Code
Liyao Chen
iOS Design to Code - Design
iOS Design to Code - Design
Liyao Chen
PTTHOT x IDEAS_HACKATHON 2014
PTTHOT x IDEAS_HACKATHON 2014
Liyao Chen
選擇
選擇
Liyao Chen
Windows 8 apps dev.整理及分享
Windows 8 apps dev.整理及分享
Liyao Chen
Mais de Liyao Chen
(20)
KKBOX WWDC17 Xcode IDE - Hardy
KKBOX WWDC17 Xcode IDE - Hardy
KKBOX WWDC17 Xcode debug - Oliver
KKBOX WWDC17 Xcode debug - Oliver
KKBOX WWDC17 WatchOS - Dada
KKBOX WWDC17 WatchOS - Dada
KKBOX WWDC17 UIKit Drag and Drop - Mario
KKBOX WWDC17 UIKit Drag and Drop - Mario
KKBOX WWDC17 UIKit - QQ
KKBOX WWDC17 UIKit - QQ
KKBOX WWDC17 Swift and Foundation - Liyao
KKBOX WWDC17 Swift and Foundation - Liyao
KKBOX WWDC17 SiriKit and CoreSpotlight - Seraph
KKBOX WWDC17 SiriKit and CoreSpotlight - Seraph
KKBOX WWDC17 Security - Antony
KKBOX WWDC17 Security - Antony
KKBOX WWDC17 Performance and Testing - Hokila
KKBOX WWDC17 Performance and Testing - Hokila
KKBOX WWDC17 Notification and Autolayout - Jefferey
KKBOX WWDC17 Notification and Autolayout - Jefferey
KKBOX WWDC17 Airplay 2 - Dolphin
KKBOX WWDC17 Airplay 2 - Dolphin
KKBOX WWDC17 Core Image - Daniel Tien
KKBOX WWDC17 Core Image - Daniel Tien
Auto Layout part 1
Auto Layout part 1
iOS Unit test getting stared
iOS Unit test getting stared
Continuous Integration
Continuous Integration
iOS Design to Code - Code
iOS Design to Code - Code
iOS Design to Code - Design
iOS Design to Code - Design
PTTHOT x IDEAS_HACKATHON 2014
PTTHOT x IDEAS_HACKATHON 2014
選擇
選擇
Windows 8 apps dev.整理及分享
Windows 8 apps dev.整理及分享
Beta testing with CI
1.
Beta testing with
CI Liyao Chen 2014/10/15
2.
Before TestFlight •
把⼿手機給RD,RD會把測試版App放到⼿手機 • 無形之中RD⼀一直被中斷 • PM拿到app不知道跟更新哪些功能(所以會問 • 某個功能⼀一下好⼀一下壞
3.
原本的流程 出了什麼問題?
4.
At first •
功能做到哪了?! • 什麼時候可以測?! • 最新版在哪下載?! • 這⼀一版哪些功能可以測?! • 那個醬也要安裝測試版
5.
At first •
你問的是哪⼀一個功能?! • 就還沒做完怎麼測?! • 不是都有寄email嗎?! • 你可以⾃自⼰己看ticket阿! • 怎麼⼜又要加⼈人了
6.
The gap •
功能做到哪了?! • 什麼時候可以測?! • 最新版在哪下載?! • 這⼀一版哪些功能可以測?! • 那個醬也要安裝測試版 • 你問的是哪⼀一個功能?! • 就還沒做完怎麼測?! • 不是都有寄email嗎?! • 你可以⾃自⼰己看ticket阿! • 怎麼⼜又要加⼈人了 PM: 看不到進度很不安RD: 寫Code就很累了 PM還⼀一直打斷我
7.
Release Note 功能做到哪了?!
這⼀一版有哪些功能可以測? 每次發版給你Release Note吧
8.
Release Note? 新建⽴立實作中已解決已關閉
#13 #12 #11 #14 #5
9.
Release Note? 新建⽴立實作中已解決已關閉
#13 #12 #11 #14 #5
10.
Release Note? 新建⽴立實作中已解決已關閉
#13 #12 #11 #14 #5
11.
Release Note? 新建⽴立實作中已解決已關閉
#12 #14 #5 #13 #11 我要驗收哪些?
12.
Release Note? 新建⽴立實作中已解決已關閉
#12 #14 #5 #13 #11 v1 Release Note! #11 bug fixed - #13 bug fixed -
13.
Release Note? 新建⽴立實作中已解決已關閉
#12 #14 #5 #13 #11 先關了驗過的 v1 Release Note! #11 bug fixed - #13 bug fixed -
14.
Release Note? 新建⽴立實作中已解決已關閉
#12 #14 #5 怎麼還有⼀一個? 可能是 1. RD忘了加在Release Note 2. PM驗收忘記關 3. RD沒做完就丟給PM 4. … etc.
15.
Release Note? 新建⽴立實作中已解決已關閉
#12 #14 #5 把#5踢回給RD
16.
Release Note? 新建⽴立實作中已解決已關閉
#12 #5 #14 把#5踢回給RD 繼續下⼀一回合
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
20.
懶惰沒有極限 「⼿手動寫Release Note很⿇麻煩,
沒有更好的⽅方法了嗎?」 –APP RD
21.
懶惰沒有極限 ⼿手動寫Release Note很⿇麻
煩,沒有更好⽅方法了嗎? 讓我來為您服務。
22.
懶惰沒有極限 • 封裝.ipa
• 上傳.ipa並取得url 拖曳上傳.ipa • 製作.plist放上ipa的url • 撰寫⾃自動產⽣生Release Note • 寄群組信 (常常要更新群組) 給PM管理測試⼈人員(TestFlight群組) 發佈版本時⾃自動寄信
23.
懶惰沒有極限
24.
CI還可以做什麼 • 建置source
code • 執⾏行測試(各種⾃自動化測試) Monkey Test Unit Test API Test • 執⾏行程式碼分析(靜態與動態程式碼分析) • ⾃自動部屬幫你把App交付給Tester
25.
CI的⺫⽬目的 • 降低⾵風險
• 減少⼈人⼯工⼿手動的繁複程序 • 可隨時產⽣生⼀一版可部署的版本 • 增加系統透明度 每天「⾃自動」健康檢查
26.
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
31.
Pull from GitLab
32.
Build & Archive
33.
Upload to testFlight
34.
進階CI應⽤用 • Auto
Build & Unit Test! • Monkey Test • Test Code Coverage • Coding Style Check • Merge to Master Build • Upload to testFlight
35.
有了CI以後 • 努⼒力實⾏行寫Test「確保」程式依照「需求」進⾏行
• Tester可以每天拿到最新的版本測試 • 開發循環更快 • 及早發現及早治療
36.
iOS repo with
CI
37.
檔案配置考量 Q. 把Pfile
放在repo裡⾯面? 換Pfile 可以直接蓋過去 (需要完整bundle id的app時) Q. 把Build & Archive的script直接放在repo? 在Local端可以確認script build
38.
39.
Crash Report
40.
Reference • http://www.dotblogs.com.tw/hatelove/archive/
2011/12/25/introducing-continuous-integration. aspx • http://ithelp.ithome.com.tw/question/10102931
Baixar agora