我正在尝试在VSTS中执行一些不同的构建步骤,这些步骤基于类型如何启动构建:自动或手动。
我对从PowerShell脚本访问该信息特别感兴趣。但到目前为止还没有找到合适的解决方案或解决方法。
之前有人遇到类似的要求吗?你是怎么解决的?我很感激你的帮助!
答案 0 :(得分:1)
似乎您想知道项目构建是通过TFS触发构建还是手动触发构建来实现的。
目前没有vnext构建的此功能。关于这一点,你可以将你的用户声音提交给this link,TFS产品团队正在那里听你的声音。
作为一种解决方法,要么通过不同的版本模式使用两个构建定义,要么在手动构建完成后手动添加特定标记。通过使用标签在构建上设置一些标签来区分手动和自动构建。但这是一个手动操作,如果我们可以自动执行此操作会更好。
答案 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'"
}