Я сейчас нахожусь в процессе настройки 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» все еще представляет ту же проблему.