Error de connection con repository privado usando GitVersion como un paso de compilation en TeamCity

Estoy configurando el entorno de CI para el proyecto en el que estoy trabajando y me quedé atascado. Antes de describir el problema aquí, utilizo las herramientas y la tecnología que utilizo:

  • Teamcity 8.1.5 como server de compilation,
  • Git como control de versión de origen,
  • GitFlow como flujo de trabajo de Git,
  • TFS 2013 como un proyecto de queueboración (con el repository de Git vinculado a él),
  • GitVersion como herramienta para el labeldo de assemblys y lanzamientos.

El server TFS admite ambos: NTLM y Autenticación básica.

El escenario:

Quiero usar la herramienta GitVersion para labelr automáticamente las fonts en cada compilation. Es por eso que como primer paso de compilation, agregué el paso de línea de command con el command:

gitversion.exe "%system.teamcity.build.checkoutDir%" /output "buildserver" /u "Domain\Username" /p "Pass" 

La URL del repository es tomada automáticamente por GitVersion de [checkout-dir]\.git\config .

Lamentablemente cuando ejecuto la compilation recibo una exception:

LibGit2Sharp.LibGit2SharpException: Request failed with status code: 401

Aquí está el resultado del Build Log:

 [Step 2/5] Starting: C:\ProgramData\choqueuetey\bin\gitversion.exe /output buildserver /u Domain\UserName /p password [Step 2/5] in directory: C:\BuildAgent\work\Playground [Step 2/5] Working directory: C:\BuildAgent\work\Playground [Step 2/5] Applicable build agent found: 'TeamCity'. [Step 2/5] One remote found (origin -> 'http://our.tfs.server.lgbs:8080/tfs/project/_git/Playground'). [Step 2/5] Fetching from remote 'origin' using the following refspecs: +refs/heads/*:refs/remotes/origin/*. [Step 2/5] An unexpected error occurnetworking: [Step 2/5] LibGit2Sharp.LibGit2SharpException: Request failed with status code: 401 [Step 2/5] at LibGit2Sharp.Core.Ensure.HandleError(Int32 result) [Step 2/5] at LibGit2Sharp.Core.Proxy.git_remote_fetch(RemoteSafeHandle remote, Signature signature, String logMessage) [Step 2/5] at LibGit2Sharp.Network.DoFetch(RemoteSafeHandle remoteHandle, FetchOptions options, Signature signature, String logMessage) [Step 2/5] at LibGit2Sharp.Network.Fetch(Remote remote, FetchOptions options, Signature signature, String logMessage) [Step 2/5] at GitVersion.GitHelper.NormalizeGitDirectory(String gitDirectory, Authentication authentication) 

Y no puedo entender qué está mal con eso.

Cuando ejecuto el mismo command directamente desde CMD en la máquina Build Agent, se ejecuta perfectamente bien.

Lo que ya probé:

  • verifiqué que el command de compilation se ejecuta con la misma identidad que el command que intenté manualmente en CMD,
  • Cnetworkingenciales de repository agregadas a la tienda de cnetworkingenciales de Windows,
  • pasó la URL directamente a GitVersion usando el modificador / url
  • nombre de usuario pasado como parte de url: http://Domain\UserName@tfs-server-url\projectname pero falló con un error diferente: Malformed URL "http://Domain\UserName@tfs-server-url\projectname" http://Domain\UserName@tfs-server-url\projectname Malformed URL "http://Domain\UserName@tfs-server-url\projectname"
  • llamado git fetch como un paso de compilation (para verificar si las cnetworkingenciales son correctas) con éxito,
  • usé Google pero no encontré un problema similar.

¿Alguien ha encontrado un problema similar? ¿Qué sugieres que hagas? Parece que no hay alternativa a GitVersion. Me temo que la única solución sería preocuparse por el labeldo a mano, lo cual no es conveniente, especialmente con GitFlow.