是否有可能签入VSTS是否是手动编制的版本?

时间:2017-02-16 15:25:55

标签: powershell continuous-integration azure-pipelines

我正在尝试在VSTS中执行一些不同的构建步骤,这些步骤基于类型如何启动构建:自动或手动。

我对从PowerShell脚本访问该信息特别感兴趣。但到目前为止还没有找到合适的解决方案或解决方法。

之前有人遇到类似的要求吗?你是怎么解决的?我很感激你的帮助!

2 个答案:

答案 0 :(得分:1)

似乎您想知道项目构建是通过TFS触发构建还是手动触发构建来实现的。

目前没有vnext构建的此功能。关于这一点,你可以将你的用户声音提交给this link,TFS产品团队正在那里听你的声音。

作为一种解决方法,要么通过不同的版本模式使用两个构建定义,要么在手动构建完成后手动添加特定标记。通过使用标签在构建上设置一些标签来区分手动和自动构建。但这是一个手动操作,如果我们可以自动执行此操作会更好。

enter image description here

答案 1 :(得分:0)

似乎我设法找到一个选项,可以确定自动或手动触发构建的位置。

手动启动的所有版本都有$Env:BUILD_QUEUEDBY变量中的实际用户,而自动版本在那里有系统帐户。我的价值是[********]\Project Collection Service Accounts

我不知道它有多可靠,但对于我来说,到目前为止代码完成了这项工作:

# Identifying who triggered the build
$OwnerId = $Env:BUILD_QUEUEDBY;
$OwnerId = $OwnerId.ToUpper();

if ($OwnerId.EndsWith("PROJECT COLLECTION SERVICE ACCOUNTS"))
{
    Write-Host "Build was triggered automatically. Resulting files considered 'BETA'"
}
else
{
    Write-Host "Build was triggered manually. Resulting files considered 'STABLE'"
}