Azure DevOps 設定
什麼是 Azure DevOps?
Azure DevOps 是微軟提供的開發工具服務平台,整合了版本控制、工作項目追蹤、自動化建置等功能。對於 iOS 開發者來說,它提供了:
- Azure Repos:Git 版本控制系統
- Azure Pipelines:自動化建置和部署工具
- Azure Boards:專案管理和工作追蹤
- Azure Test Plans:測試管理工具
- Azure Artifacts:套件管理系統
Azure DevOps 免費方案
依據官方說明,個人開發者可以享有以下免費額度:
- 無限量的私人 Git 儲存庫
- 最多 5 位 Azure DevOps 使用者
- 每月 1,800 分鐘的 Pipeline 執行時間
- 2GB 的 Azure Artifacts 儲存空間
這些免費額度對於個人專案來說已經相當充足。
建立 Azure DevOps 帳號
- 前往 Azure DevOps 官網
- 點擊「開始使用 Azure」按鈕
- 使用 Microsoft 帳號登入(如果沒有就註冊)。首次啟用 Azure 帳號時,系統會要求您填寫基本資料,依照畫面指示完成即可。
最後系統會要求綁定信用卡,這主要是為了驗證身分,在免費額度內並不會產生費用。如後續說明,Azure DevOps 的免費額度對個人專案來說綽綽有餘。
建立組織(Organization
登入後,第一步是建立一個組織。
你可以從 Azure Portal 進入,或是直接進入 Azure DevOps。 如果你是從 Azure Portal 進入,就點選左上角,然後選 Azure DevOps。
接著,
- 點擊「Create new organization」
- 選擇組織名稱(需要是唯一的),並選擇主機位置(建議選擇較近的區域,如 Asia Pacific)
建立專案(Project)
在組織內建立新專案:
- 點擊「New project」
- 輸入專案名稱
在 Advanced 選項中:
- 版本控制系統:預設為 Git,這是目前最普及的版本控制系統
- 工作項目流程(Work item process):
- Basic:最簡單的工作追蹤流程,只有三種狀態(To Do、Doing、Done),適合小型專案或個人開發
- Agile:較完整的敏捷開發流程,包含使用者故事(User Stories)、任務(Tasks)等
- Scrum:完整的 Scrum 開發流程,包含產品待辦清單(Product Backlog)、衝刺規劃(Sprint)等
- CMMI:最複雜的流程,適合需要嚴格變更控制的大型專案
- 可見度:預設為 Private(私人),只有被邀請的成員才能存取
在公司的專案中使用的是 Agile 流程。它提供了 User Stories、Features 和 Tasks 等工作項目,能很好地幫助團隊拆解需求並追蹤所交付的程式碼。
然而,對於單人開發的個人專案來說,這樣的框架似乎大了一些。我的主要需求為記錄「開發事項」、可以清楚知道哪些項目的狀態,是尚未開始,進行中還是已完成,並且對於每個工作項目,可以清楚知道與哪一次程式碼的提交掛勾,並不需要管理複雜的需求層級或團隊協作。
Basic 流程正好符合這個情境。它移除了 Agile 中關於使用者故事的層級,讓我們能直接建立和追蹤「議題 (Issue)」,相對輕量。
詳細差別的介紹可以參考微軟官方說明。
建立完畢後,專案儀表板便會顯示出來,代表我們完成了第一步。
左側的功能選單我們暫不詳述,在後續文章使用到時會再逐一介紹。
取得 Azure Repos repo
建立專案後,Azure DevOps 會自動為我們建立一個 Git repo。首先,我們需要將這個空的 repo clone 到本地:
- 在專案頁面左側選單中點選 Repos
- 點擊右上角的 Clone 按鈕
- 複製 HTTPS 的 URL(或是 SSH,如果你已設定好 SSH key)
如果使用 HTTPS,記得要先按 Generate Git Credentials,他會給你一組密碼,本地 git clone 的時候輸入。
在你想要存放專案的目錄下執行:
git clone YOUR_REPO_URL
接著,終端機會提示您輸入密碼,貼上剛剛產生的憑證即可。
建立 Xcode 專案
設定 .gitignore
在將任何程式碼加入版本控制之前,養成好習慣,第一步驟是設定 .gitignore 檔案。這個檔案會告訴 Git 哪些檔案或目錄不應該被追蹤,例如使用者個人的設定檔、編譯過程中產生的暫存檔、或是包含敏感資訊的檔案。這能確保我們的 repo 保持乾淨,只包含必要的原始碼。
vi .gitignore
建立並編輯
.gitignore
至於要排除哪些檔案,可以參考 gitignore.io1 這個網站,只要輸入關鍵字,他會自動幫你產生常用的忽略清單。
按下創建後,將內容複製到剛剛建立的 .gitignore
後儲存就 OK 了。
建立 iOS App 專案
現在我們已經有了一個乾淨的本地 repo,接著要在這個目錄中建立 Xcode 專案。
打開 Xcode,選取 Create New Project。
如果你的 mac 還沒有安裝 Xcode,請先到 App Store 下載。
我們這次要建立的是 iPhone 的 App,因此上方的平台要選擇「iOS」,並選擇 「App」來建立一個新專案。 選擇 Next 來進入下一個流程。
接著會出現要你輸入新建立專案所需的基本資訊。
Product Name: 就是你的專案名稱(Project Name),組織名稱(Organization Identifier)因為我是個人,所以我就設定自己的名稱。
Bundle identifier: 這個蠻重要的,iOS Xcode 的 bundle identifier 是用來辨識你的 App,相當於應用的身份證字號。也就是說,每個上架到 App Store 以及安裝到設備上的 App 都必須有獨一無二的 bundle identifier,不能與他人或自己已有的 App 重覆,否則無法上架或安裝。
Interface: 這裡可以選擇 UIkit 或是 SwiftUI,我們這次要使用 SwiftUI 來建立 App。
Language: 我們使用 Swift。
Testing System 與 Storage 就先保持預設值 None 不選擇。讓我們按 Next 前進下一個畫面。
Hello world!
一個最基本的 SwiftUI iOS App 模板就建立好了。
提交初始專案
現在我們可以將 Xcode 專案加入版控了:
git add .
git commit -m 'Init commit'
git push -u origin main
因為我們是從空的 repo clone 下來的,所以不需要執行 git init 和 git remote add origin。這裡的 -u (或 –set-upstream) 參數會將本地的 main 分支與遠端的 origin/main 分支建立關聯。設定完成後,未來在這個分支上,只需要輸入 git push 即可,無需再指定遠端和分支名稱。
小結
今天我們完成了 Azure DevOps 環境設定和 Xcode 專案的建立。下一篇我們將開始進行了解開發專案所需的基礎知識。