TFS 发布管理工件变量不可用

TFS Release Management Artifacts Variable not available

我们想为 Packaging/Deploying 我们的软件使用 TFS 2015.3 版本管理。 对于我们的发布任务之一,我们需要访问我们的一个 Powershell 脚本中的 Release Artifact Variables

但是每次我们尝试访问其中一个变量 RELEASE_ARTIFACTS_[source-alias]_BUILDNUMBER 时,我们都会收到以下错误消息:

[错误] 术语“Release_Artifacts_[source-alias]_BUILDNUMBER”未被识别为 cmdlet、函数、脚本文件或可操作文件的名称程序。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。

我已经尝试使用带有以下语句的内联 powershell 脚本打印出所有可用的环境变量:Get-ChildItem Env:。 但无论如何这些变量都不存在..

使用 Release Artifact 变量时是否存在任何已知问题?

您正在使用带有发布管理工件的表单的预定义变量

RELEASE_ARTIFACTS_[source-alias]_[variable-name]

您需要将 [source-alias] 替换为发布定义中包含的工件源的别名。您可以在发布定义的 Artifacts 选项卡中找到别名。

那你就可以这样使用了:

  • 内联脚本参数中使用时,工件中的句点 名称必须用下划线代替。 env:RELEASE_ARTIFACTS_[ScrumProject]_[BUILDNUMBER]
  • 工件变量也可以作为 参数 传递给任务。在 在这种情况下,用句点替换下划线: Release.Artifacts.[source-alias].[variable-name]

更多详情请参考 MSDN 中的教程页面:Artifacts in Microsoft Release Management

经过一些测试,得到与ds19相同的结果。似乎发布工件不支持 TFS2015 update3 目前仅适用于 VSTS。


更新

您只需在Publish Build Artifacts or Copy and Publish Build Artifacts step, TFS will do the thing for you. To zip the artifacts you can also use a powershell script to achieve this, more detail info you can refer this blog Manage Artifacts with TFS Build vNext

中指定build.artifactstagingdirectory

Release Artifacts 变量似乎不适用于本地 TFS;我用 VSTS 和 TFS2015.3 测试了相同的脚本。

在 VSTS 版本中,您可以在初始化步骤中看到发布变量,而在本地版本中,这些变量缺失: