什麼是Azure DevOps Server?
經常有朋友來諮詢,是否有關於Azure DevOps Server 描述資料?首先我會把微軟官方的文件(https://docs.microsoft.com/en-us/azure/devops)推薦給對方,因為官方文件庫中幾千頁的文字描述是最權威且最完整的介紹了。但是還是有些朋友認為官方得文件比較傾向於操作說明,希望有一個比較概要性的說明文件。我把自己對Azure DevOps Server這個產品的一些認識分享到這裡,希望對大家在採納這個產品之前有所幫助。
1 產品概述
Azure DevOps Server(簡稱ADO Server,原名TFS)是微軟公司Azure DevOps產品在企業內網部署執行的研發管理平臺
2 互動式、自定義和可擴充套件的軟體研發過程管理
在開箱即用的伺服器環境中,ADO Server支援多種軟體過程管理模板,既包括迭代式交付的敏捷開發過程(Agile和Scrum),還支援瀑布式或里程碑式的傳統過程管理(CMMI),同時還支援簡易快捷的基礎模板(Basic)。此外,在適應企業複雜的個性化過程管理方面,它具備了強大的擴充套件能力,企業可以根據自身的行業特色和業務流程,定製適應企業實際情況的內部管理流程。
根據企業選擇的軟體研發管理制度和過程模板,我們可以利用ADO Server中的多種過程管理工具,例如Bug或測試缺陷、需求、長篇故事、史詩、功能、生成問題、評審、燃盡圖、看板、列表、日曆檢視等,實現對軟體開發過程的透明化和高效管理;使用系統提供的查詢、圖表和儀表板等功能,自定義各種維度的資料報表,分析專案管理過程中的問題和發展趨勢,為企業專案管理和決策團隊提供實時的研發大資料。
圖表 1 - 軟體過程管理中的看板示例
根據企業當前軟體研發管理的實際情況,結合ADO Server開發管理功能,可以協助企業在軟體質量和開發效率上實現雙提升,可以建立起規範統一的研發流程。通過建設基於ADO Server的軟體研發管理平臺,在企業軟體研發部門建立起覆蓋軟體需求、軟體架構、軟體開發及管理、軟體測試、軟體整合和交付全生命週期管理的統一有效平臺,實現軟體研發部門內部的完整、有效、統一化管理。
ADO Server系統為研發團隊打造高效率、持續改進的團隊提供工具支撐。通過建設以ADO Server為核心的軟體研發管理平臺,為企業研發部門的資訊化發展提供工具層面的技術支撐。達到可以適應業務部門快速交付,持續釋出的目標,同時引入符合現代軟體開發規律及業務模式的新技術、新方法,為企業軟體開發提供活力、打下堅實的基礎,建立起可以持續自我改進的機制和高效開發的團隊。
3 企業集中統一的IT資產管理平臺
在研發管理過中,ADO Server為研發部門資產提供集中管理IT資產的功能。原始碼和文件管理是ADO Server核心功能之一,它提供一系列豐富的版本管理工具,為開發人員提供集中式(TFVC)和分散式(Git)的版本管理能力。利用ADO Server的版本控制系統,開發團隊可以跟蹤任意時間點的文件變更和程式碼提交,實現比對、回退、分支、合併、程式碼評審和靈活的許可權管理。無論專案大小,無論技術框架複雜或簡易,它為研發團隊提供跨平臺、跨語言的集中資產管理平臺。
使用系統的Artifacts功能,開發人員可以共享和使用不同源和私服或公網中的包,實現不同團隊之間共享依賴包;在企業內網實現NuGet、npm、Python、Maven 和 Universal Packages的依賴包和製品庫管理功能。
圖表 2 - Git分支管理
4 高效、標準和安全的持續整合和自動部署流水線
利用ADO Server提供的流水線功能,研發和運維團隊可以實現自動編譯、自動測試和自動部署功能,大幅提高軟體釋出過程的速度和質量,提高軟體版本管理的規範;通過流水線建立起軟體開發團隊、質量管理團隊和運維團隊之間的流程管控,實現開發運維的閉環管理,降低軟體包製作和部署過程中的安全隱患,並建立起針對整個軟體釋出過程的日誌追朔能力,為測試缺陷和生產問題的重新、排查和修復提供便捷而完整的軌跡。
利用提前編排的釋出流程,在軟體版本釋出過程中,系統自動克隆程式碼,並完成編譯和打包工作,同時將程式包、文件等交付物自動上傳到製品庫,大幅減少發版本過程中開發團隊的人力投入;
利用流水線的自動化功能,可以降低釋出過程中對程式設計師、編譯環境的依賴,輕鬆實現一鍵發版;無論程式設計師、QA、需求人員等,都可以基於流水線提交測試版本;可以自動檢測開發團隊提交的程式碼標記是否合規,大幅降低人力成本,同時提高軟體團隊的程式碼規範性;
自動釋出版本,建立起了原始碼和程式包之間的必然聯絡;即,提交測試或釋出的程式包,必然來自原始碼庫;這種關聯關係,在技術上杜絕了原始碼庫和程式包不一致的情況;它為精確追朔生產問題、重現驗收缺陷等提供了技術保障,實現了程式包和原始碼之間的安全閉環。
ADO Server支援主流的大多數應用程式型別,例如 Java、JavaScript、Node.js、Python、.net、C++、Go、PHP 和 XCode,實現跨平臺的一鍵釋出、一鍵測試和一鍵部署。
圖表 3 - 流水線的流程示意圖
5 基於探索測試、敏捷測試研發測試一體化平臺
ADO Server的測試管理模組(Test Plans)為測試團隊和質量管理團隊提供了非常豐富和強大的手動測試功能,同時針對產品質量和缺陷為測試團隊與開發團隊的互動提供了完整互動流程,此外還為終端使用者、專案干係人提供需求反饋和使用者體驗建議的途徑,實現端到端的研發測試管理。
基於嚴謹的測試管理工作流程,ADO Server提供測試計劃、測試用例、測試執行、測試結果分析、缺陷報送和迴歸驗證等全流程的質量管理流程;在實現測試管理的工具中,支援Web瀏覽器、測試客戶端工具,實現自動收集測試過程中的資料;同時還通過擴充套件,非常便捷的實現與第三方測試管理工具的整合和資料共享。
使用探索測試、敏捷測試和基於測試用例的測試,可以實現多種途徑的質量管控,提高產品在市場競爭中的地位。
圖表 4 - 測試過程跟蹤圖
6 跨團隊和部門的研發協作機制
ADO Server為企業構建起跨團隊的協作機制。通過建設以ADO Server為核心的軟體研發管理平臺,涵蓋開發過程中的各個階段的所有流程和資料管理,同時還實現開發過程中的人員和任務的管理與跟蹤。實現以需求為紐帶,貫穿開發過程的每個環節和階段,並將包括專案管理人員、開發人員、測試人員和需求分析設計人員等各種角色納入到這個平臺的管理中,實現了事、人、物的綜合管理。
通過建設ADO Server為核心的軟體研發管理平臺,實現研發部門資源的集中管理,建立起企業級的研發資訊資料庫。實現產品文件、原始碼、需求資訊、測試用例和綜合文件等資料集中儲存和查詢。通過配置資訊資料庫的備份機制,加強企業資料安全性,建立起研發中心資料安全的應急方案。
ADO Server系統構建由研發大資料支撐的研發決策模型。通過的資料管理模組,深度發掘軟體開發過程中的有用資料,全面整合各團隊專案的基礎資料,分析業務問題。在各團隊專案研發資料的基礎上建立多種報表,從企業組織級層面上分析專案(系統)研發過程中存在的問題和發展趨勢,全面掌握和監控專案研發過程,為企業管理層和專案管理團隊做出科學決策提供資料依據。
ADO Server在提升測試團隊效率,提高產品質量上提供強大的工具支撐。通過ADO Server系統的專案審計、流程管理功能,可以培養測試人員正確的測試用例錄入與維護的方法,搭建更高效準確地記錄測試執行的過程和測試結果的追溯系統,提高軟體測試質量和效率。同時提高軟體釋出過程的自動化水平,減少人為因素在軟體釋出過程中造成的影響。依託軟體協作研發管理平臺,實現軟體專案的自動化構建、自動化測試和釋出流程。
ADO Server系統建立起各個角色的高效的工作模式,使參與專案的各類角色統一規範專案的軟體開發過程中,使專案經理,需求經理、架構師,開發人員,測試人員等專案參與人員通過熟悉的方式(Excel、Word、Xcode、Eclipse、Visual Studio)協同工作,全面把握專案進度,控制軟體開發成本,高質量地完成軟體系統開發目標,提升公司研發管理的標準化、自動化水平,推動公司資訊科技的發展。
如果需要,你還可以從微軟Azure DevOps Server 的線上文件,查詢更多的權威資料,也歡迎通過下面的聯絡方式與我溝通,相互學習,相互提高!
https://www.cnblogs.com/danzhang
Azure DevOps MVP 張洪君