404 error when building Git project in TFS2013

2019-08-09 23:10发布

问题:

I'm trying to get a git project to build through TFS 2013 Update 4 - Software Version 12.0.31101.0 (Tfs2013.Update4). We have no issues with building projects under TFSVC with this server, but Git projects are unable to build.

I've setup a build definition (using the default GitTemplate.12.xaml template) with the following configurations:

This is the log that I get from the build (total time to failure is 1 second):

Update build number

Run on agent (reserved build agent Chutzpah Controller)

Initialize environment

Pull sources from Git repo
 Exception Message: Response status code does not indicate success: 404 (Not Found). (type LibGit2SharpException)
Exception Data Dictionary:
libgit2.code = -1
libgit2.category = 12


Exception Stack Trace: 
Server stack trace: 
   at LibGit2Sharp.Core.Ensure.HandleError(Int32 result)
   at LibGit2Sharp.Core.Proxy.git_clone(String url, String workdir, GitCloneOptions& opts)
   at LibGit2Sharp.Repository.Clone(String sourceUrl, String workdirPath, CloneOptions options)
   at Microsoft.TeamFoundation.Build.Activities.Git.GitPull.GitClone.GetRepository(String repositoryUrl, String workingFolder, Boolean checkoutSubmodules)
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(Message reqMsg, Boolean bProxyCase)
   at System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(Object NotUsed, MessageData& msgData)
   at System.Func`4.EndInvoke(IAsyncResult result)
   at Microsoft.TeamFoundation.Build.Activities.Git.GitPull.GitRepositoryBase.EndExecute(AsyncCodeActivityContext context, IAsyncResult result)
   at System.Activities.AsyncCodeActivity`1.System.Activities.IAsyncCodeActivity.FinishExecution(AsyncCodeActivityContext context, IAsyncResult result)
   at System.Activities.AsyncCodeActivity.CompleteAsyncCodeActivityData.CompleteAsyncCodeActivityWorkItem.Execute(ActivityExecutor executor, BookmarkManager bookmarkManager)

I've thought that it may be the URL it's hitting, but the URL it generates from the Source Settings tab when you uncheck Get sources from a Team Foundation Git repository works just fine:

http://teamsource:8080/tfs/defaultcollection/Live%20Link%20Dashboard/_git/Live%20Link%20Dashboard

So then I thought it was my path to the solution file from the Build section of the process template - as such I've tried the following values, none of which work:

\LiveLinkDashboard.sln
$\LiveLinkDashboard.sln
/LiveLinkDashboard.sln
$/LiveLinkDashboard.sln

I'm at a loss here - does anyone have any suggestions or ideas?

回答1:

You need to click the ellipsis as the screenshot shows, remove your solution, and add the solution from the workspace. The project path looks like \LiveLinkDashboard\LiveLinkDashboard.sln



回答2:

The issue looks like this one: TFS 2013 git CI build definition points to incorrect address

And the fix from Microsoft is:

This issue has been fixed in Visual Studio 2013. You can install a trial version of Visual Studio 2013 with the fix from: http://go.microsoft.com/?linkid=9832436