Nous passons d'une combinaison de CC/CC.NET à TeamCity.Comment empêcher TeamCity de transformer des liens symboliques en fichiers lors de l'utilisation du mode de paiement serveur avec un serveur Windows et un agent Mac?
Le cœur de notre produit est Windows, mais nous avons un agent Mac.
Nous avons notre mode de vérification VCS réglé sur "Automatiquement sur le serveur". Ce qui signifie que la source sera extraite sur le serveur (Windows), puis copiée sur les agents (y compris l'agent Mac) si nécessaire.
Notre produit utilise le framework BWToolkit pour une partie de son interface utilisateur. Cela signifie que nous stockons le framework dans notre contrôle source.
Le problème est que la copie source du serveur TeamCity vissera les liens symboliques dans le répertoire du framework. Il en résulte que notre produit ne parvient pas à générer (error: BWToolkitFramework/BWToolkitFramework.h: No such file or directory
).
Voici comment un ls -l
à l'intérieur du répertoire cadre racine regarde ma machine:
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
Et voilà comment il regarde la machine de construction:
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
En outre au lieu d'apparaître en tant que liens sur la machine de construction (petite superposition de flèche sur l'icône), ils apparaissent sous forme de fichiers avec l'icône exécutable unix. Si vous ouvrez un de ces fichiers qui devraient être un lien que vous obtenez quelque chose de semblable à ce qui suit (ce à partir du lien BWToolkitFramework):
link Versions/Current/BWToolkitFramework
Cela semble être un problème avec l'option de paiement du serveur dans TeamCity parce que CruiseControl est fonctionnant sur la même machine faisant un contrôle SVN direct et je n'ai eu aucun problème.
Y a-t-il un moyen de résoudre ce problème autre que de modifier notre configuration TeamCity pour utiliser l'option SVN checkout on client?
Nous avons certainement besoin de plus de votes là-bas ... –