排队TFS通过PowerShell的构建

排队TFS通过PowerShell的构建

本文介绍了排队TFS通过PowerShell的构建的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

TFS2012都与一个2010生成代理一个2010生成控制器。也有多个2012生成代理1 2012生成控制器。

我们有多个构建我们的软件的多个版本。该版本根据惯例命名例如Foo_version_1_0和Foo_version_2_0。

当我在我的本地机器上运行该code,所有这些版本进行排队。当我在2012年的生成代理手动运行该code,该版本是排队。当我在2010年生成代理手动运行该code,无版本是排队。当code与TFS触发构建的一部分执行(无论是在2010年或2012年控制器/剂),它不排队任何建立和错误与我的自定义异常说不定义从TFS返回。

我的问题:

时的$ buildServer.QueryBuildDefinitions()函数只有管理员功能?即如果一个非管理员用户帐户(如TFSSERVICE)运行它,它不能从TFS API获得数据?

时的$ buildServer.QueryBuildDefinitions()的新功能,即仅适用于2012年?

是否有这样做,将工作的另一种方式? previously,我们有我们的名字建立硬codeD - 这不是我们前进的可行方法。

<$p$p><$c$c>[void][System.Reflection.Assembly]::LoadWithPartialName(\"Microsoft.TeamFoundation.Client\")
[空] [System.Reflection.Assembly] :: LoadWithPartialName(Microsoft.TeamFoundation.Build.Client)$ SERVERNAME =HTTP:// TFS:8080 / TFS
$ TFS = [Microsoft.TeamFoundation.Client.TeamFoundationServerFactory] ​​:: GetServer($服务器名)
$ buildserver = $ tfs.GetService([Microsoft.TeamFoundation.Build.Client.IBuildServer])$ buildServer.QueryBuildDefinitions(FooProject)| {的foreach
如果($ _。的endsWith(version_1_0))
{
回声排队编译:$ _姓名
$ buildServer.QueueBuild($ buildServer.GetBuildDefinition(FooProject,$ _。名称))
        }
    }
}

编辑:删除 $ buildDefinitions = $ buildServer.QueryBuildDefinitions(FooProject)名称 $ buildServer.QueryBuildDefinitions(FooProject取而代之)|的foreach ...

版本是现在编程排队。


解决方案

该API并没有改变,我想这两种药物都使用相同的帐号。

seems wrong: the Name property get will raise an exception for an empty result.

这篇关于排队TFS通过PowerShell的构建的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-06 04:21