延續繼上篇的 VSTS 雲到地的 CI CD (06) - 排除不必要的 Source Code 下載
採用 Map 的做法讓 Build CI Process 只取所需的檔案與資料夾到 Agent
但是卻發生了一個難以解釋的狀況 !
狀況敘述
調整完後的 Build Process Get Source 整體時間變快了
但是卻在其他步驟中發生退步的狀況
居然耗時在 Publish Artifact 這個 Task ?
這步驟我只放了單純執行 Power Shell 的腳本而已
怎麼一調整完 Build Repository 的 Get Source 就差了這麼多時間 ?
比對一下在調整 Repository 前後 Build 的 Artifact
怎麼多傳了一個 $tf 這個資料夾
而且我記得這個隱藏資料夾是 TFVC 版控在使用的
於是我遠端到 Agent Server 去求證看看 Scrips 底下是不是真的有這個 Folder
一看發現果然真的存在 !
大膽推測小心證實
重新建了一個官方的 Visual Studio Build Template
預設 Map Server Path 都會指向你的 Team Project Root
什麼都不改的情況去 Run Build
我推測是 MS 預設會把 $tf 擺在根目錄底下與 Scripts 同層
在調整完 Repository 後重新跑了次 Build 後 $tf Folder 跟 Script Folder 同層目錄
我推測是因為我修改後的 Repository Mapping 的沒有根目錄那層
剛好 Scripts 這個資料夾名字字母排序比我其他資料夾命名排名比較前面
所以我應該只要在下載一個比 Scripts 字母排序更前面的資料夾應該就能解決這問題了
然後在 Run 看看這個 Build 看看實驗是否成功
OK ! $tf Folder 順利擺在 BuildProcessTemplates Folder 內
時間又回到正常的 5 秒內執行完這個 Task
打完收工 !