2011-09-12 4 views
4

Je dois copier des fichiers après la compilation sur un TeamCity-Agent via FTP. Le buildjob orndinary fonctionne lui-même fonctionne bien. Le déclenchement d'un script personnalisé se termine également avec succès. L'étape « de copier des fichiers via ftp » échoue avec l'erreur suivante:TeamCity: Comment activer FTP dans ANT?

[15:34:31]: copyFiles 
[15:34:31]: [copyFiles] ftp 
[15:34:31]: [ftp] Could not create type ftp due to java.lang.NoClassDefFoundError: org/apache/commons/net/ftp/FTPClientConfig 

Je cherchai le web pendant un certain temps et a trouvé plusieurs fois la même réponse: « Vous devez mettre commons-net.jar et jakarta- oro.jar dans votre répertoire ANT-plugin. " J'ai donc téléchargé ces deux fichiers et copié dans C: \ TeamCity \ buildAgent \ lib, mais l'erreur existe toujours.

Maintenant la question:

Où dois-je copier ces fichiers pour faire fonctionner FTP? Ou suis-je sur la mauvaise piste?

Répondre

3

Vous avez placé le pot au mauvais endroit, il doit être dans le chemin de classe de Ant, pas dans le chemin de classe de l'agent de construction.

Vous devriez trouver ant.zip fichier (TeamCity\WEB-INF\plugins\ant-tool\agent\ant.zip) et mettre le pot nécessaire (commons-net-1.4.1.jar, par exemple) à l'intérieur ant\lib répertoire du fichier ant.zip. Une fois le zip compressé, TeamCity mettra à jour les agents de build avec la nouvelle version Ant et la dépendance commons-net sera automatiquement disponible pour Ant via son propre chemin de classe.

Notez que vous devrez répéter cette étape chaque fois que vous mettez à jour TeamCity vers une nouvelle version. Une autre option consiste à installer manuellement Ant sur les machines de l'agent de construction et à configurer TeamCity pour utiliser l'installation Ant personnalisée (avec toutes les dépendances personnalisées requises dans le répertoire lib de Ant), mais ce n'est pas pratique si vous avez beaucoup d'agents de compilation. ne pas avoir à répéter cette étape lors de la mise à jour du serveur TeamCity.

+0

Fonctionne bien. Merci beaucoup. – amens

2

Ant-net-task L'outil est fourni avec TeamCity. Cet outil a des fichiers jar nécessaires pour FTP, sshexec, scp et mail.

Pour l'utiliser Paramètres de ligne de commande supplémentaires Ant: -lib "% teamcity.tool.ant-net-tasks%" doit être ajouté.

Questions connexes