第267期 / January 6, 2020

分享到臉書!分享到維特!分享到噗浪!分享到Google+!分享到微博!轉寄友人友善列印

Azure DevOps研究

作者/高嘉駿

[發表日期:2020/1/6]

作者簡歷

作者任職於凌群電腦金控軟體研發處,主要專長為C#或.NET語言的程式撰寫,以SQL Server和Oracle做資料庫管理。目前負責的專案為櫃買中心預警監視系統維護案。

前言

DevOps源自Development和Operations的組合詞,是一種重視軟體研發人員(Dev)和維運技術人員(Ops)之間溝通合作的文化或慣例。DevOps是人員、流程和工具的結合,能夠持續向客戶交付有價值的軟體或服務,透過自動化「軟體交付」和「架構變更」的流程,來使得構建、測試、發布軟體能夠更加地快捷、頻繁和可靠。

Azure DevOps提供開發人員進行團隊計劃工作,協助進行程式開發、測試以及部署應用程序。開發人員可以使用Azure DevOps Services在本地或是雲端工作。Azure DevOps Server以前稱為Visual Studio Team Foundation Server(TFS)。

關於Azure DevOps


《圖一》


微軟在2018年9月10日發表了Azure DevOps,用以取代原本的研發雲端服務Visual Studio Team Services(VSTS),原用戶將會被自動升級到Azure DevOps的各項服務中。

Azure DevOps是以開發(Development)和維運(Operations)兩項概念來命名,將原本單一的VSTS服務,打造成一套完整性的 Azure DevOps服務,包括:Azure Boards敏捷式規劃工具,使用可設定的工作流程看板、互動式待辦項目和強大的規劃工具來追蹤工作。

Azure Pipelines適用於任何平台、語言和雲端的CI/CD,以任何語言建置、測試及部署到任何雲端,或在內部部署。

Azure Repos無限制的個人存放庫,提供彈性且強大的Git主機,有效地進行程式碼檢閱。

Azure Test Plans測試管理和支援多種測試的工具箱,提供適合應用程式的測試工具來改善開發人員整體的程式碼品質。

Azure Artifacts通用套件存放庫,讓整個團隊共用來自公用和私人來源的 Maven、npm、NuGet 和 Python 套件。以簡單且可調整規模的方式,將套件共用整合到 CI/CD Pipelines。

由於功能繁多,簡單介紹能幫助開發人員CI/CD的Azure Pipelines。

建立Pipelines


《圖二》


開啟Azure DevOps並登入帳號後,在左邊選單選擇Pipelines建立新的Pipelines。

連結程式碼來源


《圖三》


Azure Pipelines支援任何語言、任何平臺和任何雲端,適用于 Linux、Windows 和 macOS,選擇自己的程式碼來源。

選擇Repository


《圖四》


確認程式的類型


《圖五》



《圖六》


確認過後就會開始建置pipeline。


《圖七》


建置完成後,可查看建置過程中各個工作項目的LOG。

持續性整合(CI)部署完成


《圖八》


建立CI的目的,可以降低風險,針對開發中程式或軟體的每個變動,能持續且自動地進行驗證,減少人工手動的繁複程序,可隨時生成可部署的版本,增加系統透明度,也能確保軟體品質。如圖八,將我的Git hub與Azure Pipelines建立連結後,往後程式更新版本,Azure Pipelines將會自動驗證程式,維持程式的正確性,對版本控管也有很大的幫助。

結論

DevOps的導入能對產品交付、測試、功能開發和維護提供很大的幫助。在缺乏DevOps能力的組織中,開發與運營人員之間存在著資訊隔閡,例如運營人員要求更高的安全性和可靠性,開發人員則希望基礎設備回應更快,而業務用戶的需求則是更快地將最新功能發布給終端使用者使用。這種資訊隔閡就是最常出問題的地方。DevOps將人員、流程和技術彙集在一起,實現軟體交付自動化,為用戶持續提供價值。使用 Azure DevOps可以更快、更可靠地交付軟體。

資料來源

1. Azure DevOps Server - wiki
2. Azure DevOps
3. What is DevOps
4. Azure DevOps Projects 概觀