我正在使用MSBuildCommunityTasks在构建时检索git commit hash:
<GitVersion LocalPath="$(MSBuildProjectDirectory)">
<Output TaskParameter="CommitHash" PropertyName="GitRevision" />
</GitVersion>
MSBUILD在本地计算机上按预期执行此任务,但在Team Foundation Service的托管构建控制器执行时失败:
SalesApplication.Versioning.csproj (81): The "GitVersion" task failed unexpectedly.
System.Exception: Could not find git.exe. Looked in PATH locations and various common folders inside Program Files.
显然,TFService使用的托管构建控制器根据已安装的软件包列表无法直接访问git.exe:http://listofsoftwareontfshostedbuildserver.azurewebsites.net/
MSBUILD如何在托管构建控制器上检索git提交信息?
答案 0 :(得分:2)
答案 1 :(得分:1)
这是由于MSBuild无法找到git.exe位置(即C:\ Program Files \ Git \ bin)。您可以检查您的java.library.path(管理Jenkins&gt;系统信息)是否包含git路径,如果不是,您需要将git位置添加到Path变量,然后重新启动服务器才能生效。希望这有帮助。
**在Windows环境中,java.library.path与PATH变量相同。