Pasamos de una combinación de CC/CC.NET a TeamCity.¿Cómo evito que TeamCity convierta vínculos simbólicos en archivos al usar el modo de pago del servidor con un servidor de Windows y un agente de Mac?
El núcleo de nuestro producto es Windows pero tenemos un agente de Mac.
Tenemos nuestro modo de comprobación de VCS establecido en "Automáticamente en el servidor". Lo que significa que la fuente se extraerá en el servidor (Windows) y luego se copiará a los agentes (incluido el agente Mac) según sea necesario.
Nuestro producto utiliza el marco BWToolkit para una parte de su interfaz de usuario. Esto significa que almacenamos el marco en nuestro control de fuente.
El problema es que la copia fuente del servidor de TeamCity arruina los enlaces simbólicos dentro del directorio de la infraestructura. Esto provoca que nuestro producto no se pueda compilar (error: BWToolkitFramework/BWToolkitFramework.h: No such file or directory
).
Así es como un ls -l
desde el interior del directorio marco de la raíz se ve en mi máquina:
total 24
lrwxr-xr-x 1 myuser admin 35 Nov 22 10:45 BWToolkitFramework -> Versions/Current/BWToolkitFramework
lrwxr-xr-x 1 myuser admin 24 Nov 22 10:45 Headers -> Versions/Current/Headers
lrwxr-xr-x 1 myuser admin 26 Nov 22 10:45 Resources -> Versions/Current/Resources
drwxr-xr-x 5 myuser admin 170 Nov 22 10:45 Versions
y así es como se ve en la máquina de construcción:
total 24
-rwxrwxr-- 1 root admin 40 Nov 19 16:21 BWToolkitFramework
-rwxrwxr-- 1 root admin 29 Nov 19 16:21 Headers
-rwxrwxr-- 1 root admin 31 Nov 19 16:21 Resources
drwxrwxr-- 4 root admin 136 Nov 19 16:21 Versions
Además en lugar de aparecer como enlaces en la máquina de creación (pequeña superposición de flecha en el icono), aparecen como archivos con el icono ejecutable de Unix. Si abre uno de estos archivos que debe haber un vínculo a obtener algo similar a lo siguiente (esto desde el enlace BWToolkitFramework):
link Versions/Current/BWToolkitFramework
Esto parece ser un problema con la opción de pagar servidor en TeamCity porque climatizador es corriendo en la misma máquina haciendo un checkout SVN directo y no he tenido problemas.
¿Hay alguna manera de arreglar esto que no sea cambiar nuestra configuración de TeamCity para usar la opción SVN checkout on client?
Definitivamente necesitamos más votos allí ... –