2017-02-22 8 views
0

サービスファブリックプロジェクトがVSTSにCDで設定されています。 CDプロセスはVisual StudioのCDウィザードから設定されています。これまでのところ良いことだが、リリースが行われたときには、pre-defined variableという名前のBuild.DefinitionNameという名前のリリースから名前をつけることに何の価値もありません。VSTSリリースを作成するときに事前定義済みの変数が空です

は、これは私のリリース名が設定されている方法です。

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

*この値が正しく読み込まれている:我々はリリースログを見ると$(Build.DefinitionName)-$(date:yyyyMM).$(rev:r)

は、変数の値はありません。

1次アーチファクト変数の文書によれば、上記の2つの変数は同じでなければなりません。

私が代わりにBuild.BuildNumberを使用する場合はこの結果として、私のリリースは$(Build.DefinitionName)-201702.7

を命名しています。私は正しい値を得ます。

どのように変数に値を設定できますか?


更新

手動$(Build.DefinitionName)をビルドおよびリリース定義を作成するときにリリース側で正しく読み込まれます。しかし、この問題は、Visual StudioのCD wizardを使用すると表示されるようです。私は何かが不足しているかもしれませんが、ビルド定義の設定は同じです。それとも、CDウィザードで何か不思議なことが起こっています。

+0

ビルドプロセスから管理を解放するために変数を渡そうとしていますか? –

+0

この問題は再現できません。 (リリース名:$(BuildDefinitionName) - $(date:yyyyMM)、$(rev:r)の場合、結果はClassTestVNext-201702.3です)この問題を新しいビルドおよびリリース定義で再現できますか?リリースの詳細ログとは何ですか? –

+0

@MrHinshはい、正確です。ドキュメントを読むことで、これは箱の中でうまくいくはずだという印象を受けました。 – user5351799

答えて

0

解決策は、Webアクセスで手動でリリース定義を作成し、Continuous Deploymentを設定することです。

0

ビルド番号はビルドからリリースに渡されますが、ビルドとリリースの間でより多くの変数を渡す方法はありません。

しかし、私はこれを行うにはビルドタスクのSERを書く:https://marketplace.visualstudio.com/items?itemName=nkdagility.variablehydration

それは2つのタスクから構成され、最初はあなたがビルド出力に置くべきJSONファイルに指定された変数が保存されます。

2番目の変数は、必要な変数を復元します。あなたのリリース用に複数のソースビルドがある場合に特に便利です。

関連する問題