我正在使用Git
+ MSBuild
。我需要从MSBuild
获取Git Long Hash编号,以便我可以将构建与哈希编号绑定(并找出构成“修订版”的文件)
MSBuild
中是否有内置任务可以用来获取哈希值?
感谢任何帮助。感谢。
答案 0 :(得分:2)
我建议将它作为属性从CI服务器本身传递,其作用是处理VCS,这样开发人员可以对不是git repo的普通文件夹使用相同的脚本,例如通过从CLI提供来进行黑客攻击的愚蠢复制/粘贴。也就是说,可能存在适当的基于api的社区任务,但我是这样做的:
<Target Name="Foo">
<Exec Command="git rev-parse HEAD > head" />
<ReadLinesFromFile File="head">
<Output TaskParameter="Lines" PropertyName="Head" />
</ReadLinesFromFile>
<Delete Files="head" />
<Message Text="Head: $(Head)" />
</Target>
<Target Name="Bar">
<PropertyGroup>
<Head>$([System.IO.File]::ReadAllText(".git\refs\heads\master").Trim())</Head>
</PropertyGroup>
<Message Text="Head: $(Head)" />
</Target>