名詞解釋
scheme: 就是build script
bot: 執行schemes,也可以排程的process
Integration: 每次bot執行一次稱為一次integration
Continuous Integration Chart
好處
1. 早期整合,早期發現問題
2. 在server build/test,不用浪費開發者時間
3. 可以排程,測試各版本simulators/devices
4. 產生報表
pre-XCode9: 安裝XCode Server
要先安裝macOS server app:
這邊先略過了,畢竟xcode9已經發表了。
WWDC 2017有影片說明整合進去xcode。
1. automatic code signing
2. 整合進入xcode 9
3. 自動在simulators / devices 上測試
製作一個signature需要以下三個文件:
1. certificate:
2. provisioning file:
3. entitlement:
以上的細節可以在2016 WWDC XCode Automatic Code Signing影片中詳細解釋。
簡單來說,Xcode 9最大的改進就是把automatic code signing放入 Xcode Server。
也唯有automatic code signing才能讓xcode server去在手機上自動化測試app,因為需要code signing (只要target有設定automatic signing):
這背後依賴另一個command line executable : Xcodebuild,所以第三方CI server(e.g. jenkins) 也可以利用此Xcodebuild command去做automatic code signing。
把右上角switch打開會自動設定,結果如下:
2. 在accounts pane加入xcode server當成“開發者一員”,因為這樣才會有bot (軟體機器人)讓我們來排成做事:
至於Manual Signing影片中有講到,可以先略過。
之後會有一連串的設定,都可以先採取預設值就好,反正都可以在更改。
接下來會來到要不要授權此 "server team member"來管理 automatic signing issues:
建立bot之後,似乎會馬上進行一次integration,所謂的integration包含以下步驟:
(a) 從repository下載branch
(b) build app
(c) provisioning / signing
(d) test
如果要發布到app store,需要做distribution signing,把archive再打包成.ipa檔案:
事實上有三種distribution signing,adhoc / enterprise / app store:
XCode server可以distribute signing似乎是個很大個改進?不確定,總之台下有歡呼就是了,之後有需要用到再說吧。
2. 可以parallel test,比較神奇的是,某些simulator連launch都沒有,不知道怎麼測試出來的?
3. automatic signing
post-XCode9
藏在xcode 裡面:WWDC 2017有影片說明整合進去xcode。
1. automatic code signing
2. 整合進入xcode 9
3. 自動在simulators / devices 上測試
Code Signing
app需要簽名認證,辨別是真實發行者,ios在app runtime會檢查此數位簽名,才能才能確保以下三件事情:製作一個signature需要以下三個文件:
1. certificate:
2. provisioning file:
3. entitlement:
以上的細節可以在2016 WWDC XCode Automatic Code Signing影片中詳細解釋。
簡單來說,Xcode 9最大的改進就是把automatic code signing放入 Xcode Server。
也唯有automatic code signing才能讓xcode server去在手機上自動化測試app,因為需要code signing (只要target有設定automatic signing):
這背後依賴另一個command line executable : Xcodebuild,所以第三方CI server(e.g. jenkins) 也可以利用此Xcodebuild command去做automatic code signing。
Setup XCode Server in XCode 9
1. 先到xcode preferences打開xcode server:把右上角switch打開會自動設定,結果如下:
2. 在accounts pane加入xcode server當成“開發者一員”,因為這樣才會有bot (軟體機器人)讓我們來排成做事:
至於Manual Signing影片中有講到,可以先略過。
Setup a bot
在product menu最後有一個"create bot",點下去之後xcode會自動去看目前project是否是來自某個git repository (猜測應該是去scan專案目錄)以及下載的branch,然後會要求設定登入帳號密碼。之後會有一連串的設定,都可以先採取預設值就好,反正都可以在更改。
接下來會來到要不要授權此 "server team member"來管理 automatic signing issues:
建立bot之後,似乎會馬上進行一次integration,所謂的integration包含以下步驟:
(a) 從repository下載branch
(b) build app
(c) provisioning / signing
(d) test
Distribution Signing
開發過程中打包的app 稱為archive,這是需要development signing,流程相對簡單。如果要發布到app store,需要做distribution signing,把archive再打包成.ipa檔案:
事實上有三種distribution signing,adhoc / enterprise / app store:
XCode server可以distribute signing似乎是個很大個改進?不確定,總之台下有歡呼就是了,之後有需要用到再說吧。
優點
1. 整合性超高2. 可以parallel test,比較神奇的是,某些simulator連launch都沒有,不知道怎麼測試出來的?
3. automatic signing
This system automates the process of building, testing, and deploying iOS applications, ensuring smooth and consistent development workflows. 6700k Vs 6800k This blog is informative and useful.
回覆刪除