问题描述
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的构建的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!