-
Recent Posts
Recent Comments
- Google I/O 2018 Android 相關 Session 摘要 – 下集 | kkb0x.c0des on Google I/O 2018 Android 相關 Session 摘要 – 上集
- Google I/O 2018 Android 相關 Session 摘要 – 上集 | kkb0x.c0des on Google I/O 2018 Android 相關 Session 摘要 – 下集
- zonble on KKBOX 的 WWDC 2016 讀書會影片
- Jed Lu on KKBOX 的 WWDC 2016 讀書會影片
- KKBOX 的音樂檔案儲存技術 | kkb0x.c0des – ericdeng on KKBOX 的音樂檔案儲存技術
Archives
Tags
- .NET Core 3
- //Build
- Android
- Apple
- Apple TV
- ARM
- AWS
- C#
- CarPlay
- CI
- CocoaScript
- Dev Center
- Fluent Design
- invention
- iOS
- IoT
- Jenkins
- KKStream
- KKTV
- KKV
- Mac
- Meetup
- Microsoft Store
- MSIX
- patent
- PWA
- PWABuilder
- Python
- Sketch
- slather
- Swift
- Swift 3
- test
- Tutorials
- unittest
- UWP
- Video Streaming
- Windows
- Windows Store
- WWDC
- Xcode
- Xcode 8
KKBOX
Resources
Meta
Tag Archives: CI
KKBOX iOS 開發過程中使用的 Jenkins 環境
先跟大家說明:目前架上版本的 KKBOX iOS 版本(6.2.50)有一些問題,在背景播放離線歌曲一兩首歌之後會暫停播放,如果你遇到這個問題,請先試試看關閉「歌曲淡入淡出」功能。另外,其實我們在發現問題的時候,也已經第一時間解決,但大家也知道…一套 iOS App 從修正完畢,到送到用戶手中,中間有一個很麻煩的關卡…。 KKBOX 在 2011 年左右在 iOS 版本的開發流程中導入 Jenkins,目前 iOS 開發部門負責大約七個主要產品,每個專案都透過 Jenkins 自動編譯每日發行版本,以及定時自動執行單元測試。隨著專案發展,一開始建置的環境已經沒有辦法因應現在的需求,所以我們最近大幅調整了 Jenkins 環境的架構。 建置 CI 系統的主機要能夠滿足兩個需求:速度快與容量大。 我們希望在每次改動程式碼之後,CI 主機都可以快速編譯出新版本,確認現在的程式碼沒有編譯問題,也可以讓測試人員隨時都可以拿到最新的版本,所以主機的編譯速度要快。 另一方面,編譯出愈多的版本,也就等於是要 archive 更多的檔案,這樣當測試版本出現問題時,我們也可以直接去 Jenkins 找到當初版本的 debug symbol 確認問題—畢竟有些 crash 不見得可以被 HockeyApp 上收集到做過 symbolicate 過的 crash … Continue reading