在當前的軟體開發世界裡,持續集成與持續交付 (CI/CD) 是提高開發效率和保持產品品質的關鍵所在。
Azure DevOps 作為一套現代化的 DevOps 解決方案,為團隊提供了完整的工具組合,以促進軟體開發、部署與協作的效率。
今天先透過官網的簡介了解其核心功能及適用場景吧。
Azure DevOps 是由微軟推出的一站式 DevOps 平台,提供多樣化的工具支援軟體開發流程的各個階段,包括計畫管理、源代碼管理、CI/CD 管道、測試管理、和制品庫存。
Azure DevOps 幫助開發者及團隊能夠從開發初期一直到部署維護,有效地管理和協作。
無論是小型初創企業還是大型企業,Azure DevOps 都能夠支持開發過程中需要的靈活性和敏捷性。這些工具皆可與其他流行的開源服務如 GitHub、Jira 等無縫集成,讓團隊能夠快速且一致地推動開發流程。
Azure DevOps 由幾個核心服務組成,每一個服務都有其獨特的功能與用途:
專門用來管理專案計劃與工作項目。它提供強大的看板、甘特圖及需求跟蹤功能,協助團隊更好地管理任務和工作流程。
功能 | 英文名稱 | 說明 |
---|---|---|
工作專案 | Work items | 根據特定條件檢視或存取工作專案清單,例如指派給您的、您追蹤的,或您曾檢視或更新的工作專案。 |
面板 | Boards | 以卡片形式檢視工作專案,透過拖放方式更新狀態,類似於在實體白板上的便條。此功能可視覺化小組的工作流程。 |
積壓 | Backlogs | 檢視、計劃和排序工作專案,包括管理產品待辦專案和組合待辦專案,將工作分組為功能或史詩(Epic)。 |
衝刺 | Sprints | 存取特定衝刺或反覆流程,檢視小組的工作狀況,並使用拖放功能將待辦項目指派至短期衝刺,以實作 Scrum 的工作方式。 |
查詢 | Queries | 自定義工作專案清單,支援分級、批量更新以及檢視工作專案間的關聯性,並可將狀態和趨勢圖添加至儀錶板。 |
傳遞計劃 | Delivery Plans | 以行事曆檢視小組的交付計劃,追蹤多個小組的相依性,並檢視最多 15 個小組的待辦專案和跨多個衝刺的進度。 |
分析檢視 | Analytics views | 使用 Azure Boards 數據建立 Power BI 報表,支援預設分析或建立自定義檢視,以提供工作專案的深入分析。 |
版本控制系統是開發過程中的重要工具,它能讓開發人員在程式代碼上順暢協作,並保留完整的變更歷程記錄。對於涉及多名開發人員的專案,版本控制系統能確保程式開發的一致性與協調性。
在 Azure DevOps 中,可以使用兩種主要的原始檔控制系統:Git 和 Team Foundation 版本控制( TFVC )。
不論你選擇哪一種,都能幫助團隊更有效率地協作並維持程式代碼的品質與一致性。對於新手而言,Git 通常是更靈活且強大的選擇,而 TFVC 則適合希望簡化代碼管理流程的團隊,其個別差異請參考以下整理:
Git 是一種分散式版本控制系統,每位開發人員都擁有整個存放庫的本機複本,這樣能夠方便地進行離線工作,也可以輕鬆建立分支和合併改動。由於 Git 的彈性和強大的功能,Azure DevOps 中 Git 通常是新專案的首選,Git 在 Azure Repos 中的功能請參考以下清單:
注意:Azure DevOps 中的 Git 是標準 Git,您可以使用 Visual Studio 搭配第三方 Git 服務,或者使用 Azure DevOps Server 搭配其他 Git 用戶端。
TFVC 是一種集中式版本控制系統,適合偏好簡化代碼管理的團隊。開發人員會在本地計算機上保有每個檔案的單一版本,而伺服器則保留所有變更的完整歷程記錄,並提供「單一事實來源」,確保所有人都在處理最新的程式代碼,其 TFVC 的主要特點請參考下列清單:
Azure Pipelines 是 Azure DevOps 的一個組成部分,它可以自動化編譯、測試和部署程式碼專案。它整合了持續整合(CI)、持續測試和持續交付(CD),幫助開發團隊快速地編譯、測試並將程式碼部署到任何目標平台。它支援各種主要的程式語言和不同類型的專案,具備高度的靈活性。這塊也是我接下來幾天想要特別著重分享的功能。
功能 | 說明 |
---|---|
Pipelines | Pipelines 用於持續整合(CI),開發人員可以自動化編譯和測試過程,以便及時發現並修復程式碼中的錯誤,確保每次變更都能夠快速集成。 |
Environments | Environments 是目標環境的集合,用於管理部署到不同環境中的應用程式,如開發、測試和生產環境。 |
Releases | Releases 用於持續部署(CD),它幫助使用者定義和管理多個部署階段,並且包含批准工作流程,以確保應用程式安全地交付到不同的環境中。 |
Library | Library 提供可重用的組件和變數組,簡化跨多個管道的配置和部署,例如變數群組和安全文件。 |
Task groups | Task groups 是一組可重用的任務步驟,可以跨多個管道和專案應用。這些群組允許開發人員將常見的工作流標準化,例如編譯、測試或部署任務。通過使用任務群組,可以減少重複性工作,提高一致性和維護性,也能確保在不同專案中採用相同的最佳實踐。 |
Deployment groups | Deployment groups 是一組伺服器或目標機器,用於協助進行應用程式的部署。這些群組通常用於多台伺服器的同步部署,尤其是在企業環境中進行大規模的生產部署時非常有用。部署群組能夠管理部署過程中的相依性,追蹤每個目標的部署狀態,並確保部署的一致性和可靠性。 |
什麼是 Azure Pipelines?
Azure DevOps 服務概觀 - Pipelines
Azure DevOps 的測試功能主要目的是幫助團隊確保軟體的品質和穩定性。透過測試計劃的建立和測試管理,開發團隊可以在開發過程中有效檢驗功能是否符合需求,並在軟體的不同階段中快速發現缺陷,最終交付穩定、高品質的產品。
什麼是 Azure Test Plans?
Azure DevOps 服務概觀 - Test plans
用來管理軟體制品和依賴庫,方便團隊共享和版本管理。
Azure DevOps 適用於各類型的開發團隊和場景,例如:
Day 27 - 將 CI/CD 流程透過 Azure DevOps 去執行吧。