У нас возникла проблема с непрерывной интеграцией нашего проекта. Иногда мы пытаемся очистить все файлы на сборке в TeamCity в своем каталоге проверки. Всякий раз, когда мы пытаемся это сделать, nunit-agent.exe
заканчивается остается открытой из предыдущей сборки, получая следующие ошибки:TeamCity Build Fails Поскольку NUnit блокирует файлы?
[05:35:40]: [Updating sources: Agent side checkout...] Failed to delete file: C:\TeamCity\buildAgent\work\path\to\UnitTestResults.xml
[05:35:40]: [Updating sources: Agent side checkout...] Failed to delete file: C:\TeamCity\buildAgent\work\path\to\src\packages\NUnit.2.5.7.10213\Tools\lib\nunit-console-runner.dll
[05:35:40]: [Updating sources: Agent side checkout...] Failed to delete file: C:\TeamCity\buildAgent\work\path\to\src\packages\NUnit.2.5.7.10213\Tools\lib\nunit.core.dll
[05:35:40]: [Updating sources: Agent side checkout...] Failed to delete file: C:\TeamCity\buildAgent\work\path\to\src\packages\NUnit.2.5.7.10213\Tools\lib\nunit.core.interfaces.dll
[05:35:40]: [Updating sources: Agent side checkout...] Failed to delete file: C:\TeamCity\buildAgent\work\path\to\src\packages\NUnit.2.5.7.10213\Tools\lib\nunit.util.dll
[05:35:40]: [Updating sources: Agent side checkout...] Failed to delete file: C:\TeamCity\buildAgent\work\path\to\src\packages\NUnit.2.5.7.10213\Tools\nunit-agent.exe
Мы всегда должны попросить кого-то, кто имеет доступ к ящику, чтобы вручную убить процесс перед началом сборки работая снова. Какие причины NUnit должны оставаться открытыми на неопределенный срок (мы можем подождать 24 часа, и это все равно будет висит)? Есть ли какая-то команда, которую нам нужно использовать в нашем скрипте сборки, чтобы заставить ее прекратить работу или сообщить TeamCity, что если программа зависает, чтобы закрыть ее?
Как вы используете NUnit - вы работаете сами из сценария, или с помощью с помощью бегунка TeamCity NUnit в стадии сборки? – adrianbanks
Запуск сам из exe, включенного в репозиторий (nunit-console.exe). – Scott
отслеживает процессы, выполняемые агентом сборки при выполнении сборки. Вероятно, вы не завершаете nunit-console.exe, когда он закончил выполнение тестов, оставив после завершения сборки оставшийся процесс. – adrianbanks