我所使用的产品包含3/4单独(非依赖)TFS构建。
我想创建一个单独的TFS构建,它将ProcessTemplate中的其他3/4构建排队,并且关键地将过程参数传递给它们。这个构建将等待它们全部完成并返回构建的整体成功/失败。
所以我的问题是:
任何帮助或指导都将不胜感激。
更新 以下powershell脚本将执行构建,但我仍然无法传递我的自定义流程参数: - (
function Get-BuildServer
{
param($serverName = $(throw 'please specify a TFS server name'))
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Client")
[void][System.Reflection.Assembly]::LoadWithPartialName ("Microsoft.TeamFoundation.Build.Client")
$tfs = [Microsoft.TeamFoundation.Client.TeamFoundationServerFactory]::GetServer($serverName)
return $tfs.GetService([Microsoft.TeamFoundation.Build.Client.IBuildServer])
}
$buildserver = Get-BuildServer "http://tfsserver:8080/tfs/My%20Project%20Collection"
$teamProject = "ESI"
$buildDefinition = "iPrl_BuildMaster"
$definition = $buildserver.GetBuildDefinition($teamProject, $buildDefinition)
$request = $definition.CreateBuildRequest()
$buildserver.QueueBuild($request, "None")
现在谷歌搜索之后,我发现了以下C#代码来更新详细程度,假设我的自定义流程参数相同,我需要转换它以使用上面的powershell脚本。有什么想法吗?
IDictionary<String, Object> paramValues = WorkflowHelpers.DeserializeProcessParameters(processParameters);
paramValues[ProcessParameterMetadata.StandardParameterNames.Verbosity] = buildVerbosity;
return WorkflowHelpers.SerializeProcessParameters(paramValues);