iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 12
0
DevOps

從 0 到 1 的 DevOps 執行日記 - 全方位平台實踐手冊系列 第 12

【Day-12】我們是怎麼開始的?:一間傳統軟體公司從 0 開始建置的 DevOps 文化(實作篇)-iOS 平台(1)

  • 分享至 

  • xImage
  •  

在專案準備中,我們使用 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,達成我們自動化建置、測試、部署的目標。


上一篇
【Day-11】我們是怎麼開始的?:一間傳統軟體公司從 0 開始建置的 DevOps 文化(技術篇)-0.5-0.99
下一篇
【Day-13】我們是怎麼開始的?:一間傳統軟體公司從 0 開始建置的 DevOps 文化(實作篇)-iOS 平台(2)
系列文
從 0 到 1 的 DevOps 執行日記 - 全方位平台實踐手冊30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言