2017-02-22 64 views
0

我在VSTS中使用CD设置了Service Fabric项目。 CD制作过程是在Visual Studio的CD向导中设置的。到目前为止这么好,但是当发布发布时,我没有从名为Build.DefinitionNamepre-defined variable中获得任何价值,我用它来命名发布。创建VSTS版本时,预定义变量为空

这是我的释名是如何配置:$(Build.DefinitionName)-$(date:yyyyMM).$(rev:r)

如果我们在解除记录查找存在的变量没有值:

[BUILD_DEFINITIONNAME] --> [] 
[RELEASE_ARTIFACTS_{Primary artifact alias}*_DEFINITIONNAME] --> [] 

*该值无误。

并根据主要人为因素变量的文档上面的两个变量应该是相同的。

由于这是我释放的结果,如果我使用Build.BuildNumber,而不是被命名为$(Build.DefinitionName)-201702.7

。我得到正确的价值。

我怎样才能得到填充的变量?


更新

在创建构建和发布定义手动$(Build.DefinitionName)大干快上释放侧无误。但是,当您使用Visual Studio的CD wizard时,问题似乎就会出现。我可能会错过一些东西,但构建定义的设置是相同的。或者使用CD向导进行一些时髦的事情。

+0

你是否试图通过变量来从构建过程中释放管理? –

+0

我无法重现该问题。 (发布名称:$(Build.DefinitionName) - $(date:yyyyMM)。$(rev:r),那么结果是ClassTestVNext-201702.3)您是否可以使用新的构建和发布定义来重现此问题?发布的详细日志是什么? –

+0

@MHHinsh是的。通过阅读文档,我认为这应该是开箱即用的印象。 – user5351799

回答

0

解决方案是在Web访问上手动创建版本定义并设置Continuous Deployment。

0

在构建号从构建传递到发布时,没有现成的方式来在构建和发布之间传递更多变量。

但是我写的建设任务SER做到这一点:https://marketplace.visualstudio.com/items?itemName=nkdagility.variablehydration

它由两个任务,第一个保存指定的变量到JSON文件,你应该把在生成输出。

第二个恢复你想要的变量。如果您为发布版本创建了多个源代码版本,那么这将特别有用