TeamCity: Как включить FTP в ANT? - PullRequest
       48

TeamCity: Как включить FTP в ANT?

4 голосов
/ 12 сентября 2011

Мне нужно скопировать файлы после сборки на TeamCity-Agent через FTP.Обычная сборка работает сама, работает нормально.Запуск пользовательского скрипта также завершился успешно.Шаг «копировать файлы через ftp» завершается неудачно со следующей ошибкой:

[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

Я некоторое время искал в Интернете и много раз находил один и тот же ответ: «Вы должны поставить commons-net.jar и jakarta-oro.jar в вашем каталоге плагинов ANT. "Поэтому я скачал эти два файла и скопировал их в C: \ TeamCity \ buildAgent \ lib, но ошибка все еще существует.

Теперь вопрос:

Куда мне нужно скопировать эти файлы для работы FTP?Или я не на том пути?

Ответы [ 2 ]

3 голосов
/ 12 сентября 2011

Вы поместили банку не в то место, она должна быть в classpath Ant, а не в classpath агента сборки.

Вы должны найти файл ant.zip (TeamCity\WEB-INF\plugins\ant-tool\agent\ant.zip) и поместить требуемый jar (например, commons-net-1.4.1.jar ) внутри ant\lib каталог файла ant.zip.

После того, как zip переупакован, TeamCity обновит агенты сборки с новой версией Ant, и зависимость 1011 * commons-net будет автоматически доступна для Ant через собственный путь к классам.

Обратите внимание, что вам придется повторять этот шаг каждый раз, когда вы обновляете TeamCity до новой версии.

Другой вариант - установить Ant на компьютерах агентов сборки вручную и настроить TeamCity на использование настраиваемой установки Ant (со всеми необходимыми настраиваемыми зависимостями в каталоге lib Ant), однако это неудобно, если у вас много агентов сборки, но вы не будете необходимо повторить этот шаг при обновлении сервера TeamCity.

2 голосов
/ 24 июля 2014

Инструмент Ant-net-task входит в комплект TeamCity.У этого инструмента есть jar-файлы, необходимые для FTP, sshexec, scp и mail.

Чтобы использовать его Дополнительные параметры командной строки Ant: -lib "% teamcity.tool.ant-net-tasks%" следует добавить.

...