La tâche de copie Nant ne copie pas lorsqu'elle est exécutée à partir de TeamCity
Question
J'ai la cible suivante dans mon script nant:
<target name="update" verbose="true">
<copy todir="${dirs.deploy}">
<fileset basedir="${dirs.drop}\_PublishedWebSites\RomanceReminder.Web">
<include name="**/*.*" />
</fileset>
</copy>
</target>
lorsque j'exécute ce script manuellement, la sortie suivante est visible dans le journal:
[nant] C: \ Projects \ RomanceReminder \ BuildScripts.Custom_test_deploy.build
Buildfile: fichier: /// C: /Projects/RomanceReminder/BuildScripts.Custom/_test_deploy.build
Cadre cible: Microsoft .NET Framework 3.5
Cible (s) spécifiée (s): aller
error_check:
stop_w3svc:
nettoyage:
[echo] Suppression de C: \ Webs \ Nightly.
mettre à jour:
[copie] Copier 93 fichiers sur 'C: \ Webs \ Nightly'.
start_w3svc:
go:
BUILD SUCCEEDED
Temps total: 2,6 secondes.
Comme vous pouvez le voir, déplacez 93 fichiers dans le dossier Web \ nightly.
Lorsque ce script est exécuté via TeamCity, la copie n'a pas lieu pour une raison quelconque. Team city fonctionne sous un compte administrateur, il doit donc disposer de toutes les autorisations nécessaires. Le fichier journal de TC affiche le texte exact ci-dessus, à l'exception de la tâche de mise à jour, qui ne montre rien.
Quelqu'un a-t-il des idées sur la façon dont je peux même résoudre ce problème?
UPDATE: j'ai inversé le bit de la tâche de copie pour permettre une journalisation détaillée. et maintenant je vois ce qui suit dans mon journal TeamCity:
[copie] Copie des fichiers 0 dans 'C: \ Webs \ Nightly'.
Je suis toujours épaté par le fait que je peux l'exécuter en ligne de commande et tout fonctionne, mais TC ne copie pas les fichiers ... 8 (
La solution
Erreur utilisateur Erreur utilisateur Erreur utilisateur
Bien sûr, je ne faisais pas confiance à l'outil en supposant qu'il faisait quelque chose de mal. Le répertoire de dépôt est uniquement rempli à l'étape du package. Ce script particulier s'exécute avant cela. Team City détruit le répertoire de construction à chaque exécution, y compris le répertoire de dépôt. Si nant était correct, il n'y avait aucun fichier à copier. J'ai modifié mon script pour utiliser la sortie et tout va bien avec le monde.