簡體   English   中英

如何在TFS中使用PowerShell獲取當前的構建定義名稱

[英]How to get current Build definition name using PowerShell in TFS

我們正在使用TFSdeployer觸發構建部署以部署構建。

但是停留在如何獲取當前Build的Build定義上,我們一直嘗試並且無法成功。

如何使用下面的PowerShell腳本而不是硬代碼獲取當前的構建定義名稱。

場景:如果我從Test1 BuildQuality觸發,那么第一個代碼應該可以正常工作。 如果我從Test2 BuildQuality觸發,則第二個代碼應該正常工作。 (If-Else代碼運行正常)

使用$ TFSDeployerBuildDetail.DefinitionName $ Build.Name嘗試

但這似乎不起作用,我們將不勝感激。

$BuildDefinitionName =  "Test1"
$PackagePath = "C:\extra\Package_Files"
$DestPath1 ="C:\extra\Test1"
$DestPath2 ="C:\extra\Test2"
$logFile ="C:\extra\logs"
$utilPath = "C:\util\"


if ($BuildDefinitionName -eq "Test1")
{

Write-Host "Testing 1st Copy"

Add-Content -Path $logFile "Copying to Test1"
& $utilPath\robocopy $PackagePath $DestPath1 /s >> $logFile

}

elseif($BuildDefinitionName -eq "Test2")
{

Write-Host "Testing 2nd Copy"
Add-Content -Path $logFile "Copying to Test2"
& $utilPath\robocopy $PackagePath $DestPath2 /s >> $logFile

}

使用提供的環境變量:

$env:BUILD_DEFINITIONNAME

https://docs.microsoft.com/zh-cn/vsts/build-release/actions/scripts/powershell

由於您已指示使用XAML構建 ,因此環境變量將為$env:TF_BUILD_BUILDDEFINITIONNAME

對於基於Web的更新構建系統,另一個答案是正確的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM