我们希望使用TFS 2015.3版本管理来打包/部署我们的软件。 对于我们的一个发布任务,我们需要访问其中一个Powershell脚本中的Release Artifact Variables。
但是每当我们尝试访问其中一个变量RELEASE_ARTIFACTS_ [source-alias] _BUILDNUMBER时,我们会收到以下错误消息:
[error]术语“ Release_Artifacts_ [source-alias] _BUILDNUMBER ”无法识别为cmdlet,函数,脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。
我已经尝试使用带有以下语句的内联powershell脚本打印出所有可用的环境变量:Get-ChildItem Env:。 但无论如何,那些变量都不存在......
使用Release Artifact变量时是否存在任何已知问题?
答案 0 :(得分:4)
似乎Release Artifacts变量不适用于TFS on-prem;我用VSTS和TFS2015.3测试了相同的脚本。
在VSTS版本中,您可以在初始化版本中看到发布变量,而在本地版本中,这些变量缺失:
答案 1 :(得分:3)
您正在使用发布管理工件的表单的预定义变量:
RELEASE_ARTIFACTS_[source-alias]_[variable-name]
您需要将[source-alias]
替换为版本定义中包含的工件源的别名。您可以在版本定义的工件选项卡中找到别名。
然后您可以使用它如下:
env:RELEASE_ARTIFACTS_[ScrumProject]_[BUILDNUMBER]
Release.Artifacts.[source-alias].[variable-name]
更多详细信息,请参阅MSDN上的本教程页面:Artifacts in Microsoft Release Management
经过一些测试,得到与 ds19 相同的结果。似乎发布工件不支持TFS2015 update3目前仅适用于VSTS。
更新
您只需要在Publish Build Artifacts或Copy and Publish Build Artifacts步骤中指定build.artifactstagingdirectory
,TFS就会为您做好准备。要压缩工件,您还可以使用powershell脚本来实现此目的,更多详细信息可以参考此博客Manage Artifacts with TFS Build vNext