【问题标题】:How to retrieve or pass custom argument TFS Build XAML in Post Build Powershell script如何在 Post Build Powershell 脚本中检索或传递自定义参数 TFS Build XAML
【发布时间】:2018-04-19 21:36:48
【问题描述】:
我从 Visual Studio 2013 的默认构建模板创建了一个新模板,并创建了一个新的自定义参数 Brand 在队列新构建期间提示参数。
我尝试在 Powershell 脚本的构建后脚本中读取构建参数。但值始终为空。
我使用$env:Brand 传递参数来发布构建参数,例如-arg $(Brand),带和不带双引号。但显示为空。
请帮助如何在部署后脚本中检索构建参数。
【问题讨论】:
标签:
powershell
xaml
tfs
build
arguments
【解决方案1】:
我假设您正在设置您的属性以获取您的自定义参数。像
<x:Property Name="BuildEnvironmentName" Type="InArgument(x:String)" />
进行设置,以便在您对构建进行排队时将其显示为一个选项。例如
<mtbw:ProcessParameterMetadata Category="Build" ParameterName="BuildEnvironmentName" DisplayName="Target Environment" Description="The environment where the deployment will take place" Required="true" BrowsableWhen="Always" />
如果您想将此参数传递给构建后脚本,则需要在您的 Xaml 中传递它。一个例子
<mtba:RunScript DisplayName="Run Post-build Script" FilePath="PostBuildScript" Arguments='[BuildEnvironmentName]' Result="PostBuildScriptResult]" mtbwt:BuildTrackingParticipant.Importance="Low"/>
【解决方案2】:
通过将自定义参数添加到 Run Script 任务 XAML 定义的环境变量中,解决了问题。
来自 {{"Key", Value}} 的新字典(字符串,字符串)