在專案準備中,我們使用 GitLab 來實作,透過 GitLab CI/CD 完成我們產品 App 中的 CI/CD Pipeline 流水線的建置,然後建立一個新的 App 當作我們產品的標的。並且透過分出各個環境來代表實戰中的項目環境。同時,配置 fastlane 在我們將程式碼推送到 GitLab 執行,他會幫我們在不同環境中執行各個事項,比如建置、打包,根據環境推送到不同的 App Store 項目中等等。後面還會提供更進階的配置,比如 firebase 要怎麼納入我們的環境管理中。好,讓我們開始吧!
在這個步驟中我們有兩個目標,建立好 GitLab 與 GitLab Runner,還有新增一個 XCode 專案,當作我們的產品標的。
建立 GitLab專案與 Runner
這個步驟的目標是讓我們建立一個 GitLab 專案,並且設置好 Runner(執行 CI 的機器)
首先讓我們先再,GitLab建立一個新專案。
然後讓我們先設定好,GitLab-CI Runner,這邊就不再贅述,可以參考這篇
GitLab 初學者指南: 輕鬆為 iOS 專案設定持續集成(CI/CD)
接下來我們需要一個新的 iOS 專案,當作我們產品App 的標的!
建立新的 iOS 專案
這個步驟的目標是建立一個專案當作範例。
接下來讓我們開啟一個新專案
接下來讓我們模擬一個產品中,有很多種環境!
配置環境
這個步驟中目標,首先我們會先定義環境,然後透過環境定義抽換各種變數,
接下來讓我們加入以下環境
Debug
Staging
Release
這邊有個小伏筆,Staging 打成 Sta’t’ing,後面會介紹如何更正。
讓我們按下 New Scheme
##填入我們的 Scheme 名稱
##接下來讓我們新增 Config
##建立 Config 資料夾
##新增Config檔案
##我們一樣需要三個檔案
Debug.xcconfig
Staging.xcconfig
Release.xcconfig
##綁定 Config
##最後應該像這樣
##填入與設置變數
這邊我們模擬不同環境有不同的 API 位置,來作配置
Debug.xcconfig
Staging.xcconfig
Release.xcconfig
##預覽一下
我們用網址來代表不同環境的後端 API 位置
修改Info.plist
建立 ServicesURL
然後讓我們的畫面讀取這個數值
最後讓我們綁定 Scheme 並且看看效果
Debug 模式下
Staging 模式下
Release 模式下
太棒了,我們已經成功的切換環境變數配置
最後先讓我們的成果,推上剛建立好的 GitLab
推到遠端
確認是否真的推上了
接下來我們需要配置好 fastlane 與 Gitlab CI,讓我們的建置、配置、測試、部署完全自動化!
配置-fastlane、gitlab-ci
在這個步驟中我們會建置 fastlane、gitlab-ci,達成我們自動化建置、測試、部署的目標。