Я запускаю сервер Hudson CI на машине win32. После успешной сборки я хочу, чтобы созданный exe-файл был размещен на общедоступном веб-сайте. Плагины hudon для SCP и ftp не работали так, как я хотел (в основном потому, что он выбирает несколько странных каталогов для их размещения), поэтому я сделал свой собственный скрипт для командной строки scp, который вызывает hudson.
Однако по какой-то причине при запуске в среде hudson bat-файл scp зависает. Он отлично работает, когда я вызываю его из командной строки на той же машине.
По-видимому, это также не работает при запуске из планировщика задач.
Может ли кто-нибудь придумать причину, по которой это не сработает в среде hudson или планировщика?
pscp.exe -batch -q -pw mypassword ..\..\installers\Output\myfilename [email protected]:domains/domain.com/html/downloads
(Обратите внимание, что «domain.com» — это замена моего доменного имени...)
Опять же, когда я вызываю этот bat-файл из командной строки, он работает нормально.
Также обратите внимание: причина, по которой я называю bat-файл, заключается в том, что я заменяю имя файла командой svn WCREV, поскольку мозг Хадсона мертв и не может выполнить эту замену ни в плагинах scp, ни в ftp, ни в вызовах командной строки. Этот метод должен работать плавно, но он зависает.
pscp — это программа ssh из командной строки, связанная с Putty.
Еще одна проблема, с которой я сталкиваюсь, заключается в том, что этот проект имеет доступ к двум репозиториям svn, поэтому hudson запутывается и не может предоставить номер версии svn по желанию в тех местах, где я ожидаю, что он будет доступен. (Одно репо предназначено для сторонних вещей, а другое — наша кодовая база). Мы используем svn rev из нашей кодовой базы как часть идентификатора, чтобы назвать созданный установщик.
Я был бы рад использовать ftp или scp из hudson (плагины), но они, кажется, не работают для меня вообще, учитывая места, в которые hudson решает поместить файлы (используя номера сборки - я не хочу использовать сборку hudson). номера для идентификации сборки - я предпочитаю версию svn) - поэтому я использую версии командной строки, но они тоже не работают - они зависают в процессе сборки hudson.