2017-10-05 82 views
1

此处引用已经:How to access an artifact's BUILDNUMBER is Visual Studio Team Services Release management 这里: https://docs.microsoft.com/en-us/vsts/build-release/concepts/definitions/release/variables?tabs=batch获取神器别名BuildNumber 2015年

我使用香草的Visual Studio Team Foundation Server的2015年(版本14.102.25423.0) 在我建设我拉上神器与工件的构建数量。例如。 20171004.16.zip 我在我的发布定义中定义了两个工件源。

"QA - myproject - build" 
"Prod - myproject - build" 

我的一个步骤是将buildnumber.zip文件复制到我的远程服务器。在我的配置设置 我已经定义:

ProdBuildNumber = $(Release.Artifacts.Prod - myproject - build.BuildNumber) 

的问题是,ProdBuildNumber只是越来越字面上作为。 例如:从调试脚本:

... 
2017-10-05T19:09:48.0651172Z [SYSTEM] --> [release] 
2017-10-05T19:09:48.0651172Z [PRODBUILDNUMBER] --> [$(Release.Artifacts.Prod - myproject - build.BuildNumber)] 
2017-10-05T19:09:48.0651172Z [RELEASE_RELEASEID] --> [114] 
... 

有人能看到我在做什么错误?愿意尝试任何想法。

+0

你实际试图提取什么信息? 'Release.Artifacts.Prod'没有解析任何东西(例如,你需要指定类似'Release.Artifacts.Prod.DefinitionName'的东西),并且'Build.BuildNumber'将自动解析为内部版本号主要的神器。 –

+0

Msft表示访问特定工件的内部版本号就像使用Release.Artifacts {Artifact别名} .BuildNumber一样使用。在我的发行版中有两个工件源。我需要能够定位适当的构件编号。不是主要的。如果我的别名是“some-project-name,那么路径不应该是Release.Artifacts.some - project - path.BuildNumber ???语法中的某些内容不正确 – macm

+0

我期望它是工件中的空间别把它绊倒了,它让我暂时不想访问'Release.Artifacts.Prod'和'Build.BuildNumber'。 –

回答

0

尝试

ProdBuildNumber = $(Release.Artifacts.Prod) - myproject - $(build.BuildNumber) 
+0

没有。导致相同的风格。 – macm

+0

那么我想你必须使用[可变扩展任务](https://marketplace.visualstudio.com/items?itemName=jessehouwing.jessehouwing-vsts-variable-tasks),正如在这个答案中提到的那样:https:/ /stackoverflow.com/a/36612132/7034621 – orhtej2

+0

该文档似乎明确指出您可以使用变量。我似乎无法看到我的语法不正确。 – macm

0

[Release.Artifacts.Alias.BuildNumber]变量不TFS2015可用。如果要使用它,请将服务器升级到TFS2017,并且还可以检查Release/Logs/Deploy中的所有支持变量。以下是在TFS2015支持的变量: enter image description here

如果您不能升级对于现在的服务器,你可以在你释放定义添加PowerShell脚本任务中获得通过Rest API的详细信息,神器。