Azure DevOps Server(TFS) 是微軟公司的軟件協作開發管理平台產品,為軟件研發、測試、實施提供全流程的服務。作為一款應用服務器產品,他的客戶端是什么,在哪里下載客戶端?我們在項目實施過程,經常碰到這樣的問題。本文的目的就是為了解答這個問題。
作為一款企業級的軟件研發管理平台,Azure DevOps Server 集成了需求管理、項目計划、人員管理、代碼管理、持續集成、自動發布等全流程的功能,他涉及到各種不同角色的IT技術人員,例如業務人員、需求分析師、設計師、程序員、質量控制人員和運維人員等。不同角色的人員使用不同的工具,在軟件研發的不同階段,同一個角色也會使用不同的通具。下面我們就來詳細說一說,Azure DevOps Server (TFS)到底有哪些客戶端?它如何滿足不同角色成的個性需求?
1. 開發工具
首先我們要來說開發工具,因為在一個信息技術部門,軟件研發團隊是絕對的主力人員。他們手頭使用的工具的集成功能,是Azure DevOps Server首先需要解決的問題。
Visual Studio
Azure DevOps Server的原名就是Visual Studio Team Foundation Server (簡稱TFS,曾經還叫VSTS),做為Visual Studio產品家族的成員,Visual Studio當然是DevOps Server的首推客戶端,特別是對於基於微軟技術框架做開發的技術人員,使用Visual Studio中集成的團隊資源管理器(Team Explorer)功能,可以非常便捷地完成代碼版本管理、工作項查詢、持續集成等工作。幾乎可以說,DevOps的大部分客戶端工作都可以在Visual Studio中完成。Visual Studio Team Explorer(VS團隊資源管理器)
對於使用Visual Studio的建議,Java程序員馬上就會潑冷水:“完整的VS安裝包30GB,對我有什么用?” 為了滿足非微軟技術框架的開發人員,微軟公司也是操碎了心,專門精簡改造Visual Studio,將30GB的安裝包,精簡到300MB,其中只包含了Azure DevOps Server的全部客戶端功能,例如TFVC版本管理、Git版本管理、工作項等。這個工具,無論是功能的完備性、穩定性、速度等多角度考慮,目前是非微軟開發人員的最好的客戶端工具,也是我們在推廣DevOps Server過程中首推的客戶端。Visual Studio Code
Visual Studio Code,作為微軟跨平台開發工具,當然不會缺少DevOps Server的關聯。使用Visual Studio Code的原生Git功能呢,可以與DevOps無縫銜接,實現版本管理;借助與TFVC插件,也可以實現集中式源代碼的版本管理。
圖:在Visual Studio Code中實現代碼版本管理Eclipse、MyEclipse、Idea、Android Studio、XCode
好了,現在我們來和Java開發人員聊一聊。在Java開發開發人員的心目中,應該只有Windows和Office與自己有關,可能從未想到過在開發過程中還需要微軟的開發工具。那么先來看一下微軟公司為Java開發人員准備的大禮包:https://azure.microsoft.com/en-us/services/devops/java/ 在這個連接中,你可以看到主流的Java IDE工具,可以與DevOps Server實現快速無縫集成。同時,在CI和CD過程中,微軟還提供與Jenkins一樣的功能,在發布流程管理方面,甚至遠遠超越了Jenkins。你熟悉的Maven、Ant、Gradle等,在DevOps Server中,一應俱全。下面我們來一個一個分析Java開發人員的開發神器:
- Eclise:
對於傳統的TFVC這種集中式的源代碼管理,在Eclipse(基於Eclipse的)開發工具中安裝微軟TFS插件(Team Explorer Everywhere,簡稱TEE),可以直接在Eclipse中連接TFS服務器。這個TEE插件的功能,與Visual Studio中的團隊資源管理器比較,無論在功能還是用戶界面上,二者幾乎一模一樣。當然,由於是作為第三方插件的方式集成在Ecipse中,在速度和穩定性方面和原生的VS是有差距的。
圖:Eclipse連接Azure DevOps Server
- Idea
除開Eclipse,Idea應該是Java開發人員的最愛了。作為捷克共和國這個東歐國家開發的IDE工具,在Java軟件開發、調試和兼容性方面,與Eclispe相比毫不遜色。更有驚喜的是,Idea原生支持TFS系統,可以在Idea中直接連接TFS實現版本管理,無需任何第三方插件。
圖:Eclipse連接Azure DevOps Server (TFS)安卓、蘋果移動開發
由於DevOps Server中集成的Git服務器的功能,類似Android Studio、XCode等原生就支持Git的開發工具,現在被微軟的DevOps Server收為一統。移動開發人員,再也不用擔心在MAC機器上如何上傳代碼的問題了。Sublime等非主流開發
前面說了主流的開發工具,實際上,對於非主流的開發工具、文本編輯器等,Azure DevOps Server提供了豐富的插件支持,你可以微軟的擴展市場(https://marketplace.visualstudio.com/)中,找到幾千種插件,但凡有一定數據量用戶的開發工具,基本都可以通過插件的方式連接到DevOps Server。比較就曾經在一個項目中,為PL/SQL的用戶(數據DBA)找到連接DevOps Server的工具,實現數據腳本的版本管理。詳情可以查看我的博客https://www.cnblogs.com/danzhang/p/6936611.html。跨平台工具TEE(Team Explorer Everywhere)
開發人員不提跨平台,總讓人看不起。微軟公司在Team Explorer Everywhere中提供了一個基於命令行的跨平台工具,終於為我們長了臉,在培訓過程中,對於Linux、Unix的用戶,我可以信心滿滿的告訴他,你可以在所有支持Java的平台上連接Azure DevOps Server!
2. 瀏覽器
在上一節的說明中,應該已經可以覆蓋絕大部分研發人員使用的工具了。但是,作為一個服務器系統,如果你不支持基於瀏覽器web服務,那是不可以思議的。DevOps Server在瀏覽器的兼容性、功能全面方面,比起作為客戶端的主流開發工具來說,可以說做到了極致。目前官方公開聲明支持所有主流瀏覽器,包括:Chrome、Firefox、IE、Safari等。
對於國產的瀏覽器,雖然微軟沒有給出官方說明,但是在項目實施過程中,我們的客戶使用360、搜狗等,幾乎沒有任何障礙。
使用Web瀏覽器,可以完成Azure DevOps Server百分之九十的功能,甚至可以在Web瀏覽器中編寫代碼。
有個同學馬上就問:“不能做的那百分之十是什么?”,我只好心虛的說“調試代碼”。但是,我相信,如果人類發明了可以使用瀏覽器編寫、調試代碼的框架,微軟很快就會把它集成在Azure DevOps Server中。
3. 微軟Office 工具
通過前面的說明,開發人員應該有所寬心了。
下面我們和非開發人員(需求、測試、運維)來聊一下。作為不經常編寫代碼的技術人員,手頭最常用的工具莫過於微軟的Office。秉承的微軟其他應用軟件的系統,Azure DevOps在集成Office系列軟件的過程中,它具備的功能遠遠超出了我們的現象。
- Office Excel
我認識的人中,除了50年代出生的父母外,都使用過Excel來管理電子表格數據,就連我那個正在讀小學的孩子,都會熟練的使用Excel中記錄家庭作業完成情況。對於如此廣泛使用的電子表格工具,Azure DevOps 開發團隊當然不會忽略它的存在。微軟開發團隊提供了一個Office插件(Azure DevOps Office Integration: https://docs.microsoft.com/en-us/azure/devops/boards/backlogs/office/track-work?WT.mc_id=DT-MVP-5001330 )。使用這個插件,可以在Excel中下載、批量修改、匯總報表。而這些操作過程中的數據來源,則可以直接與Azure DevOps相連,甚至可以獲取實時的數據。測試人員錄入Bug、需求人員跟蹤進度、管理人員統計績效等等,都可以使用自己熟悉的Excel,無需學習新的知識。
圖:Excel連接Azure DevOps服務器 - Project Professional
一提起Project,你肯定就會問“甘特圖呢?”。是的,Azure DevOps的Office插件讓你在Project中,可以使用服務器中的數據,生成項目計划甘特圖。使用Project,可以實現項目管理人員和開發團隊之間,實現數據共享,互聯互通。
圖:Project連接Azure DevOps服務器 - Outlook
這個工具就不值得提了,因為電子郵件集成幾乎是所有服務器軟件必備的功能。
但是,如果你發現,在Outlook中,可以將用戶反饋的一個電子郵件,直接轉換為一個Bug或者一條需求信息,那就不是簡單的郵件通知功能了。
4. 服務器集成
實際上,Azure DevOps Server與其他服務器之間的集成,也可以看成是客戶端的擴展。例如,我們在SharePoint Server中可以獲取Azure DevOps Server的工作項數據;可以將需求推送到Project Server;可以在SQL Server Reporing Server和PowerBI中,生成漂亮的統計報表;還可以與及時信息軟件(例如Slack、Teams)集成,自動發送實時通知。
甚至,利用Azure DevOps完善的Rest API,可以與任何自主研發的第三方服務器集成,實現數據共享、流程互通。例如,在項目實施過程中,我們就為許多客戶做過系統集成,從OA系統自動獲取需求,從測試管理平台中自動獲取缺陷,自動通知運維平台升級,等等。。。
作為企業級的軟件研發管理平台,Azure DevOps Server在客戶端的集成和兼容性上,幾乎可以滿足大部分研發角色成員的需求。在實際使用過程中,由於Azure DevOps Server涉及到軟件研發的全生命周期管理(ALM),可能還有更多筆者未知的工具、技術和技巧,歡迎大家在討論中補充。
------------------------------------------------------------
http://www.cnblogs.com/danzhang/ DevOps MVP 張洪君
------------------------------------------------------------