2017-11-01 12 views
0

ブランチとコミットIDの詳細をVSTSビルドにバージョンスタンプするJSユーティリティを作成しようとしています。VSTSビルド中に、npmスクリプトを使用して、ビルドをトリガしたブランチを特定するにはどうすればよいですか?

私はローカルでうまく動作するgit-rev-syncを使用しています。しかし、コードがVSTSビルド定義を使用してチェックアウトされると、リポジトリはデタッチされ、現在のコードがどのブランチに属しているかをgit repo自体から判断できなくなります。 Detatched:

のgit-REV-syncはの線に沿って何かを報告し705a3e89206882aceed8c9ea9b2f412cf26b5e3f

代わりに "開発" の

または "マスター" を

私はあるかもしれないVSTSノードSDKを見てもよい

PowerShellスクリプトを使ってできるように、VSTS環境変数を取得することができます。

誰でもこれをやったか、この問題をもっとうまく解決しましたか?あなたは、環境変数からBuild.SourceBranchNameビルドで変数にアクセスできるように

答えて

3

ビルド変数は、現在のプロセスの環境変数に追加されます。

のPowerShell:

$env:BUILD_SOURCEBRANCHNAME 

NodeJS:

process.env.BUILD_SOURCEBRANCHNAME 

シェルスクリプト:

$BUILD_SOURCEBRANCHNAME 

バッチスクリプト:

%BUILD_SOURCEBRANCHNAME% 

また、(その後、あなたは、ファイルから値を読み取ることができ、ファイルに変数の値を置き換えるためにTokens taskを交換して使用して、例えば、タスク($(Build.SourceBranchName))の引数を通してそれを渡すことができます%{BUILD_SOURCEBRANCHNAME}%を交換してください)。

+0

NodeJS:process.env.BUILD_SOURCEBRANCHNAMEは私の後でした。ありがとう! –

関連する問題