svn checkout бросает вызов паролю при запуске без присмотра в TeamCity - PullRequest
3 голосов
/ 15 декабря 2010

Я сейчас нахожусь в процессе настройки StatSVN для работы в TeamCity и столкнулся с небольшой проблемой, по которой мне нужно кое-какие идеи. Во-первых, StatSVN должен работать с рабочим каталогом , который был извлечен из SVN, он не может работать с копией приложения, которое TeamCity экспортирует из SVN. Таким образом, он должен выполнить проверку SVN на сервере сборки.

Я создал файл bat, который запускает три команды, требуемые StatSVN для создания отчета, первой из которых является извлечение:

svn checkout [repository path]

Теперь поправьте меня, если я ошибаюсь, но это следует проверить, используя текущую личность. Конечно, он работает нормально прямо из командной строки. Когда он запускается в TeamCity, сборщик сборок настраивается для запуска под учетной записью службы, которая имеет идентичные права для меня в SVN. Фактически одна и та же учетная запись службы используется для создания репозиториев и структур каталогов по умолчанию, поэтому я не сомневаюсь, что у нее есть права.

Однако, каждый раз, когда сборка запускается, она зависает и после остановки становится очевидным, почему:

[13:38:28]: C:\TeamCity\buildAgent\work\e8d4dc4070ecf602>svn checkout [repository path] 
[13:38:29]: Authentication realm: <[svn server]> Subversion Repositories
[13:38:38]: Password for '[service account]': 
[13:38:38]: Process exited with code 1

Кажется, он зависает и ждет пароля, который он, очевидно, не может получить, пока работает без присмотра. У кого-нибудь есть идеи, почему это происходит?

Обновление: Следующая команда, требуемая StatSVN, - это «svn log», который выводит историю коммитов. Даже если вы можете решить проблему проверки svn, настроив режим проверки TeamCity VCS на «Автоматически на агенте», что приведет к фактической проверке, а не к экспорту (это, безусловно, предпочтительнее для ручной команды), команда «svn log» все еще представляет ту же проблему.

Ответы [ 3 ]

4 голосов
/ 15 декабря 2010

Вы можете, по крайней мере, прекратить запрашивать ввод с помощью

svn checkout --non-interactive

. Это не решит проблему, так как он не знает пользователя, но может дать вам больше информации о том, что не так

2 голосов
/ 15 декабря 2010

можно было бы решить эту проблему, изменив оформление заказа на teamcity с серверной части (экспорт) на клиентскую (проверка) ..?тогда вы фактически получите все свои папки SVN.

, затем вы можете исключить их из вашей сборки (nant или msbuild), чтобы они никогда не попали в папку вашего встроенного проекта.

я знаю этоне отвечает на ваш вопрос напрямую, но может решить вашу реальную проблему.

1 голос
/ 22 февраля 2012

Возможно, слишком поздно, чтобы помочь оператору, но я столкнулся с подобной проблемой при выполнении проверок. svn будет постоянно запрашивать имя пользователя и пароль, несмотря на то, что они вводятся с использованием переключателей --username и --password. Когда был добавлен переключатель --non-interactive (согласно предложению Сандера Рийкена) svn ответил, что пароль неверный. На самом деле пароль был правильный, но содержал символы, которые не были правильно экранированы.

...