2010-02-23 23 views
24

Tengo este problema cuando hago cola en una compilación. La construcción muere con el errorTeam Build: la ruta 'Ruta' ya está asignada en el espacio de trabajo 'espacio de trabajo' incluso después de eliminar todos los espacios de trabajo en el agente de compilación

La ruta C: \ [Ruta] \ Sources ya está asignada en el área de trabajo [Nombre del servidor].

same as this question. pero me he quitado todas las áreas de trabajo del agente de compilación ejecutando este comando:

tf workspaces /remove:* 

y también eliminando la carpeta caché de TFS. También reinicié el servidor, pero el error sigue sucediendo en cada compilación.

+1

Estoy bastante seguro de que la línea de comandos anterior solo eliminará espacios de trabajo para el usuario actual, por lo que aún podría haber un espacio de trabajo asociado con otro usuario (en esa máquina) que haya mapeado la misma ruta. Puede usar TFS Sidekicks para ver fácilmente todos los espacios de trabajo asociados con una máquina cliente determinada.(¡Lo siento si te estoy enseñando a chupar huevos!) – JamesD

Respuesta

20

Ok, entonces la solución terminó siendo bastante similar a lo que YeahStu posted on here. He cambiado directorio de trabajo del agente de compilación de

$(Temp)\UI\$(BuildDefinitionPath) 

a

$(Temp)\UI\$(BuildDefinitionPath)\$(BuildDefinitionID) 

Lo que es extraño es que el otro agente de compilación tenemos aún se está ejecutando en $(Temp)\UI\$(BuildDefinitionPath) y funcionando bien. La única diferencia entre los dos agentes es que el que dejó de funcionar tenía instalado Visual Studio 2010 RC, mientras que el que aún funciona tiene VS2010 Beta2 en él. No tengo idea de por qué esto debería marcar la diferencia.

+2

Esto me ayudó. Instalé VS2010 Ultimate (RTM) en el agente de construcción e inmediatamente nuestras construcciones comenzaron a fallar. ¡Gracias! – Paul

0

Más información de la propiedad directorio de trabajo aquí:

http://msdn.microsoft.com/en-us/library/bb399135.aspx

Sin embargo, en la versión RTM "$ (HOMEDRIVE)" no se reconoce. Puede ser debido a la carcasa; no lo han probado, así que tenga en cuenta ese defecto en los documentos.

0

Tuve el mismo problema: funcionaba correctamente hasta que instalé VS2010 en el agente de compilación. Agregar el BuildDefinitionId lo solucionó, pero es extraño que la instalación de VS2010 arruine las áreas de trabajo que ya están configuradas y en funcionamiento.

0

cambiado a

$ (Temp) \ UI \ $ (BuildDefinitionPath) \ $ (BuildDefinitionID)

hace que funcione pero no para situaciones 100%. Cada vez que la compilación no se completa (por ejemplo, algún error en los códigos fuente o algo así), luego de corregir el error e intentar ejecutar nuevamente la creación del equipo falla en "Workspace XYZ ya está mapeado ...", entonces debo eliminar manualmente esto mapeo del espacio de trabajo por "Team Foundation Sidekick 2010" y ejecutar la creación del equipo de nuevo para tener éxito. La próxima vez que se ejecute correctamente la construcción del mismo equipo más de una vez, se construirá con éxito, pero hasta que algún equipo falle según algún error en el código fuente, nuevamente comenzará a generar errores de "asignación de espacio de trabajo".

Me parece que TFS 2010 tiene algún error cuando falla algún build de equipo, no borra/elimina el espacio de trabajo utilizado, o algo similar.

¿Alguien tiene los mismos problemas para experimentar?

3

Creo que el problema aparece solo si tiene más de un agente de compilación en un cuadro de compilación.

+0

Tengo 3 agentes asignados a 1 controlador. ¿Crees que este puede ser el problema? – psulek

+0

Este fue de hecho mi problema. Configuré mis dos agentes de compilación para usar copias de trabajo separadas y desapareció. –

1

Creo que su problema puede relacionarse con tener 3 agentes de compilación que no están etiquetados. Creo que el espacio de trabajo, si se deja atrás, es eliminado por el agente que está haciendo la compilación. Si es un agente diferente del agente que creó el espacio de trabajo, entonces habrá problemas obvios.

Para solucionar el problema, debe hacer lo siguiente. Nombre Un agente, el agente predeterminado. Esto no tendrá etiquetas. En los otros dos agentes, en las propiedades, agregue una etiqueta para los agentes, uno para cada agente y selecciónelo.

Ahora, cualquier compilación que se ejecute sin conjunto de etiquetas siempre usará el Agente predeterminado.

Para obtener una compilación para utilizar uno de los otros agentes, abra la definición de construcción y vaya a la sección avanzada en Proceso.

Abra la Configuración del agente y seleccione las elipsis en Filtro de etiquetas e ingrese una etiqueta con el mismo nombre para la etiqueta ingresada en el agente de compilación que desea usar.

Es posible que tenga que borrar los espacios de trabajo antes de la primera ejecución.

Hacer lo anterior le permite controlar qué agente de compilación se utiliza para cada definición de compilación, y por lo tanto también debe detener su problema de espacio de trabajo.

4

http://www.devaffair.com/2011/11/path-is-already-mapped-in-workspace.html

Bueno, en realidad este problema ha sido resuelto en varias otras preguntas en este sitio, pero voy a publicar mi respuesta de nuevo :)

Este enlace se le dirigirá a un blog que probablemente resuelva su problema más rápido

+0

Thx para el enlace –

+0

El enlace está roto ... :( – Felix

+0

@Felix http://blog.devaffair.com/2011/11/path-is-already-mapped-in-workspace.html – Devaffair

1

Pude eliminar el área de trabajo. En el servidor de compilación, haga esto:

Descargue psExec de sysinternals.
http://technet.microsoft.com/en-us/sysinternals/bb897553

Abra el cmd como administrador.

Ejecute psexec para abrir cmd como servicio de red.
psexec -i -u "autoridad nt \ servicio de red" cmd.exe Eso abre otra ventana de cmd que está utilizando "autoridad nt \ servicio de red".

Ejecuta un "whoami" para asegurarte de que ahora eres "autoridad nt \ servicio de red".

Abrir el estudio visual escribiendo devenv.

dentro de Studio \ Explorer equipo visual, conectar con el servidor de control de origen

Dentro de Visual Studio Explorador de control \ fuente, tiran los espacios de trabajo ofensivos.

No tengo idea de por qué, pero las áreas de trabajo tf/eliminar no funcionaban para mí.

+0

esta es la mejor solución . –

Cuestiones relacionadas