ちぐログ

メモ書きです

Visual Studio Online でのビルド時に Git のコミットハッシュを埋め込む

ビルド時にどのソースバージョンのものを使ったかを知りたいことがあります。
下記の記事を参考に Visual Studio Online(VSO)で ビルドしたアセンブリに Git のコミットハッシュを埋め込んでみました。

blog.shibayan.jp

手順は以下です。

  1. PowerShellで AssemblyInfo.cs の書換スクリプトを作成する
  2. VSOでのビルド定義に、作成したスクリプトの実行ステップを追加する

1. PowerShellで AssemblyInfo.cs の書換スクリプトを作成する

書換スクリプトの大枠は参考記事とほぼ同じで、2か所だけ変更しました。

Git のコミットハッシュ変数

VSOのビルド時における Git のコミットハッシュは $env:BUILD_SOURCEVERSION で取得できます。

AssemblyInfo.cs の場所

$env:SYSTEM_DEFAULTWORKINGDIRECTORY を基準にパスを直接書いています。

どちらも使える変数は以下のサイトが参考になります。

www.visualstudio.com

最終的なスクリプトはこちら。 gist.github.com

2.VSOでのビルド定義に、作成したスクリプトの実行ステップを追加する

赤枠のように PowerShell の実行ステップを追加します。
Git にあげた書換スクリプトを設定します。

f:id:chiguniiita:20161230082550j:plain

確認

exeのプロパティから確認できました。

f:id:chiguniiita:20161230093142p:plain

Git コミットハッシュ表示カッコいい!