VSTS 雲到地的 CI CD (05) - Artifact 與佈署的行為探討

此篇將探討從一開始 VSTS 佈署一直延伸到地端 Agent 佈署的差異

在「VSTS 打通雲端到地端的佈署」因為檔案過大 Timeout 無法佈署

所以「VSTS Agent 安裝」直接在地端進行佈署

理論上在地端佈署應該是直接從本地 Build 出來的 Artifact 的拿去佈署站台

觀察 Release Logs 

我們不是已經把 Build 搬到地上了, 為何 Artifact 還要從雲上下載回來 ?

往回追蹤 Build Logs

如果要從雲上下載 Artifact 表示 Build 的最後步驟要上傳回去雲上

由 Log 可得證 Copy Publish Artifact 會上傳回去

階段拆解

第一個方式佈署的結果就是 Timeout

第二個方式就是把 Agent 架設在地端, 把 Task Quene 都指向 Default

而第三個跟第四個還尚未測試, 不過第三個沒有必要測試因為從雲上佈到地端檔案過大導致 Timeout

第四個讓我們先假設預期結果會是如下

  1. Build 階段會從雲拉 Source Code  (內網)
  2. Artifact 在上傳回雲 (內網)
  3. Release 階段從雲 Download Artifact (外網)
  4. Deploy IIS Website (內網)

似乎會比現在第二種方式來的快

我測試過後的結果是第四種方式會比第二種方式平均來的快 1 ~ 2 分鐘

Release 在地端執行是正確的

佈署到內網的其他 Server 也一定比從外網佈署方便許多