2017-02-22 60 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文件,你應該把在生成輸出。

第二個恢復你想要的變量。如果您爲發佈版本創建了多個源代碼版本,那麼這將特別有用