TFS的代理服務器(agent)用於持續集成編譯和發布,為開發、測試團隊和運維團隊帶來的非常便捷高效的發布和測試速度,許多企業和研發團隊都在自己的研發測試平台中廣泛使用這一技術。
在部署TFS代理服務器的過程中,比較常見的方案分布式部署,即根據測試和部署的需要,將TFS的應用層服務器和代理服務器部署在不同的Windows/Linux服務器上,同時實現服務器的負載均衡。這種分布式部署,通常是在企業域環境中實現的,由於所有服務器都在同一個企業域環境(或者相互信任的域)中,服務器之間通過域賬戶實現相互認證,部署難度大幅降低。但是在有些情況下,我們也需要工作組模式中部署TFS代理服務器,例如代理服務器在外網公有雲環境中,通常情況下這樣的服務器不可能加入企業域。工作組模式下的部署與域環境的部署有較大區別,本文重點介紹這種環境下的代理部署。
在部署代理服務器之前,首先需要了解幾個賬戶的不同用途:
1. 代理池管理員(poolAdmin)
代理池管理員用於將代理服務器添加到代理池中。在部署代理之前,需要將這個賬戶添加到代理吃管理員中,一般我們都使用tfsadmin賬戶,如下圖:
Figure 1 - 代理池管理員
2. TFS服務賬戶(tfsServiceAccount)
TFS服務賬戶主要用於連接TFS服務器,實現在TFS服務器上的用戶認證。需要將這個賬戶添加到代理池的代理池服務賬戶中,如下圖。
Figure 2 - 代理池服務賬戶
3. 本地服務賬戶(LocalServiceAccount)
本地賬戶建立在TFS的代理服務器上,主要用於運行本地服務(VSO Agent),在代理服務器上實現本地操作,例如編譯、發布、文件復制等。這個賬戶的權限依賴於代理服務器在本地的操作行為,如果沒有特殊安全考慮,直接將這個賬戶添加到本地管理員中。在工作組模式的部署過程中,我們一般創建一個域控制器上的影子賬戶(Shadow Account),例如本文的示例中,我創建了一個本地的.\tfsadmin賬戶,與域環境中的同名賬戶的密碼相同。
接下來,我們在一台安裝了Windows Server 2012 R2的服務器上安裝代理
1. 下載代理程序
導航到TFS服務器根結點的控制台界面,點擊下載代理按鈕,保持下載的內容到本地目錄,並解壓縮到相應目錄中,示例中我解壓縮到C:\TFSAgents\Agent1
Figure 3 - 下載代理安裝包
2. 安裝和配置代理服務器
按照下圖的操作部署代理服務器。
Figure 4 - 安裝配置代理服務器
大功告成,你在TFS的管理界面中會看到已經成功的帶來服務器,綠色小圖標表示服務器正常運行,如下圖。
Figure 5 - 查詢代理服務器
【注意事項】
1. 需要使用自己創建的代理服務器賬戶登陸代理服務器,進行上面的操作,否則Windows系統創建的憑證與賬戶不一致,導致連接TFS服務器失敗
2. 安裝代理成功以后,編譯或下載代碼失敗,需要檢查服務器上對應的環境是否配置正確,例如tf.exe, Java JDK,Git等
http://www.cnblogs.com/danzhang/ ALM MVP 張洪君
(完)