2014-06-30 8 views
0

Недавно я взял на себя ответственность за сервер непрерывной интеграции Cruise Control, хотя я знаю очень мало о круиз-контроле или Нанта. Но такова жизнь.CruiseControl.Net Ошибка копирования/перемещения ошибки Cruise

Одно из заданий регулярной сборки, которое предполагается выполнить, - выполнить сценарий Nant, который выполняет резервное копирование файлов и данных с одного из живых серверов на резервный сервер. Я обнаружил, что это сильно провалилось, поскольку пользовательский интерфейс позволит мне видеть.

сообщения об ошибке всегда одинакова:

Build Error: NAnt.Core.BuildException 
Cannot copy '[filename].bak' to '[server]'. 

Но это не всегда терпит неудачу в том же самом месте.

Сценарий Nant, который выполняет довольно много несколько итераций этой копии кода:

<copy todir="${backup.root}\{dirname}"> 
    <fileset basedir="s:"> 
     <include name="**/*" /> 
    </fileset> 
</copy> 

Хотя некоторые из команд «движение», а не «копия».

Тот факт, что это происходит в разных точках сценариев, подсказывает мне, что это либо до таймаута, либо сценарий не может получить доступ к файлам, которые используются системой при запуске скрипта. Но я никогда не смог добиться успешного исполнения, независимо от того, какое время суток я его запускал.

Сообщения об ошибках не особенно полезны для определения того, что проблема на самом деле. И поиск в них не особенно увлекателен. Я не ожидал решения этого (хотя было бы хорошо), но было бы очень полезно, если бы я мог просто указать, где искать следующий, чтобы определить проблему.

ответ

1

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

См http://nant.sourceforge.net/release/0.85/help/tasks/copy.html

Я хотел бы добавить атрибуты verbose='true' и failonerror='false' к задаче копирования и посмотреть, если это помогает.

Установка overwrite на основе вашего сценария также может помочь.

1

Прежде всего, извлеките раздел Нанта в файл песочницы Nant и запустите Nant из командной строки, поэтому вам не нужно ждать, пока тест не будет проверен до запланированного времени резервного копирования каждый день. В основном настроить тестовый стенд для удобства тестирования.

Затем запустите его и посмотрите, где он не работает. Затем сократите эту задачу до тех пор, пока она не будет работать независимо от того, как мало она работает. Теперь вы должны знать, что в первую очередь приводит к его провалу. Сфокусируйтесь на этом.

Я использовал NANT изрядное количество и:

Не удается скопировать «[имя файла] .bak» на '[сервер]

заставляет меня думать, что некоторые свойства не решаются. Почему кто-то назвал файл [filename] .bak? 'filename' выглядит как имя свойства, которого нет в Nant. Просто иди сюда.

 Смежные вопросы

  • Нет связанных вопросов^_^