繁体   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