1

我正嘗試在Visual Studio Team Services中爲我的微服務體系結構項目設置發佈流程。爲了做到這一點,我需要爲我的解決方案中的每個項目/服務提取工件。我可以通過爲每個硬編碼值的服務設置單獨的構建步驟來手動執行此操作。 但是如果我想讓我更通用那麼呢?在VSTS中爲微服務體系結構構建發佈流程

在我的夢想場景中,我將能夠創建一個以服務名稱作爲輸入的任務組,然後只需發送要部署的服務/項目列表即可。 我已經想出瞭如何創建任務組,而不是如何讓列表作爲構建的輸入,而不是如何遍歷調用我的任務的對象列表。 有什麼建議嗎?任何第三方工具,還是應該花時間查看PowerShell腳本?

編輯:我會嘗試澄清我什麼,我想用一些僞代碼:

BuildAndReleaseCode(solution, listOfServicesToBuild) 
{ 
    NuGetRestore(solution); 
    outputfolder = BuildSolution(solution); 
    //Add testing 
    for (service in listOfServicesToBuild) 
    { 
     CopyFilesAndPublishArtifact(sourceFolder, targetfolder) 
     DeployArtifact(targetFolder, targetMachine) 
    } 
} 
+0

你指定了什麼硬編碼值? –

+0

你解決了這個問題嗎? –

+0

@starain沒有不幸的不是。但是我添加了一些僞代碼來澄清我在尋找什麼。 – jimmy

回答

2

的一般過程:

  1. 創建構建定義(縣)建設項目和發佈神器(發佈工件步驟)(包含多個Visual Studio構建步驟的構建定義或每個項目的多個構建定義) 您需要爲Visual Studio Build指定項目/解決方案。
  2. 隊列版本(S)
  3. 創建一個版本定義
  4. 連接一個或多個工件(建立僞)到該版本(文​​物標籤)
  5. 添加必要的任務和環境中部署項目。
  6. 創建釋放和開始釋放部署

釋放可能被觸發,當一個新的神器版本可用(打開發行清晰度=>觸發器選項卡)。

此外,在特定時間檢入或構建隊列時,可能會觸發構建。 (開放構建定義=>觸發選項卡)

更新:

對於Visual Studio生成步驟,可以使用通配符,例如,*** SLN在所有子文件夾的所有SLN文件,所以。您無需指定具有硬編碼值的項目。

如果要在解決方案中構建特定項目,可以指定/t parameter

如果這些項目都在不同的解決方案和位置,你可以創建一個MSBuild project file它使用的MSBuild任務來構建項目。

在另一方面,你可以自定義生成任務來實現這一點,你可以參考VSBuild code和這些文章(12),以自定義生成任務,在此之後,使用該自定義生成任務與項目列表參數構建項目,你想要的。

+0

啊,你鏈接的文章可能是我想要的。謝謝! – jimmy

相關問題