Team Foundation Server

DEBUG
LT Lab
Published in
6 min readAug 1, 2019

Team Foundation Server 簡稱 TFS,軟體開發管理的工具。2019 後改名為 Azure DevOps Server。

https://www.ithome.com.tw/news/129146

原先想 TRY 自動化測試及部署(Continuous Delivery / Continuous Deployment),在本機裝了Jenkins 發現功能多到眼花撩亂,大概 TRY 一下應該是可行的,後來想想 TFS 有此功能何苦再裝一套工具,就想說直接在工作中實戰,很不順利有權限問題,就開始了自架 TFS 之路。

首先下載 INSTALL Team Foundation Server 2018 Update 3 版本資訊,點擊安裝會跑如下畫面。

https://docs.microsoft.com/zh-tw/visualstudio/releasenotes/tfs2018-update3

跑完後,會開始設定 TFS 相關的元件,順利的話,可以一直下一步到最後,怕的就是缺一堆相依性的程式。

這邊可以注意,預設的 PORT 8080。

可以改成不常用的 PORT,已防止後續用到相同 PORT 衝突。

下面的 User 及 Password 必填。

當跳下一步,可能會要求更新 Oracle Server JRE 8 (Update 60 或更新版本),這邊可以考慮使用 Zulu JDK,如果安裝 Oracle 的會要求註冊會員才能下載。

如何安裝 Zulu JDK
https://ithelp.ithome.com.tw/articles/10212041

還差一步…

完成結果頁,會顯示 TFS 網址,就可以開始使用了。

如有需要重新設定,可以搜尋 Team Foundation Server 管理主控台,找到如下畫面。

開啟 TFS 後,需要先設定新專案。

TFS 專案建立完後,可以考慮將現有的開發程式碼加入此 GIT REPO。

git remote add origin http://domain-name/your-project-path
git push -u origin master

接續來到首要目的,自動化測試及部署,點 建置與執行 > 建置 > 新增

可以設定哪個專案中的哪個分支,觸發 CI/CD。

這邊有個重點,要設定代理程式佇列,點擊管理,會跳到設定頁

這邊目的在於,讓你的遠端機器能與 TFS 連線,下載並執行。

這邊簡單的建立兩個項目,NPM INSTALL 及 SSH 部署。

目前卡在 WINDOWS OPENSSH SERVER 安裝問題,測試過以下方法,均未成功。

透過 WINDOWS UI 安裝
https://www.azureunali.com/windows-openssh%E7%9A%84%E4%BD%BF%E7%94%A8/

POWERSHELL 安裝
https://docs.microsoft.com/zh-tw/windows-server/administration/openssh/openssh_install_firstuse

GITHUB PowerShell/Win32-OpenSSH 安裝
https://github.com/PowerShell/Win32-OpenSSH/releases

教程
https://hostadvice.com/how-to/how-to-install-an-openssh-server-client-on-a-windows-2016-server/

Change Your Execution Policy
https://docs.microsoft.com/zh-tw/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-6

最後放棄在 WINDOWS 安裝 OPENSSH SERVER。嘗試 Docker 及 Windows Subsystem for Linux(WSL),能有網路連線問題。最終,自己在 Linode 開 Linux 解決 SSH 部署問題,但還是半殘,公司內部的 TFS,外部連不到。

結果,當程式修改完,並提交到 TFS,就會觸發您所設定的 CI/CD。

這邊分享一下輕量級的 CI/CD Drone

--

--

DEBUG
LT Lab
Editor for

軟體工程的可怕是沒有最優,只有更優的代碼,每天被放大鏡檢視的錯誤(BUG),已鍛鍊內心的強大,有時可能厚者臉皮裝傻帶過,更多時候是不願服輸,比昨日的自己還強大。