2008-09-25 6 views
1

Вот моя ситуация:Почему мои горячие файлы иногда исчезают? (Я думаю, Apache их ест)

  • Windows Server
  • Apache
  • CruiseControl

Последний шаг моей CruiseControl развернуть сценарии копирует сборки в папку сервера Apache HTDOCS , в «демос» папку (я считаю, что это называется «горячей» Deploy?)

Все хорошо и денди, за исключением того, что ИНОГДА (не t, но это бывает достаточно, что меня это забивает), папка demos не содержит файлы, которые я создал! Старый ушел, а нового нет, просто исчез.

Мое шестое чувство, что если я пытаюсь переписать файл, в то время как кто-то в Интернете, загружает его, Apache просто удаляет его после загрузки делается? Я не знаю, это не имеет никакого смысла.

Я смотрел повсюду и не мог найти даже намека ... давайте посмотрим, насколько хорошо это сообщество StackOverflow! :)

Вот «развернуть» цель в моем АНТ сценария:

<target name="deploy" depends="revertVersionFile"> 
    <copy todir="${deploy.dir}"> 
     <fileset dir="${bin.dir}"/> 
    </copy> 
    <copy todir="${deploy.dir}"> 
     <fileset dir="${bin.dir}"/> 
    </copy> 
    <available file="${deploy.dir}/MockupsLive.swf" property="mockupsFile"/> 
    <fail unless="mockupsFile" message="MockupsLive doesn't exist!"/>  
    <available file="${deploy.dir}/skins/sketch/sketch.swf" property="skinFile"/> 
    <fail unless="skinFile" message="sketch.swf doesn't exist!"/>  
</target> 

ответ

0

Apache не будет удалять содержимое каталога. Кое-что в скрипте удаляет содержимое, я думаю. Создает ли сценарий резервную копию любого типа? Возможно, он перемещает содержимое в резервную папку, а затем копирует сборку.

Вы можете добавить немного безопасности в эту папку, чтобы предотвратить его удаление. Возможно, тогда где-нибудь появится ошибка, и вы получите представление о том, что удобно удалять в каталоге. :) Я предполагаю, что это в скрипте.

+0

Привет, хаббардр, я отредактировал вопрос с моей целью «развернуть». Я не делит файлы, я просто копирую их. Дважды, фактически (это делает проблему случаться реже). Интересно, что доступные цели никогда не терпят неудачу ... Я не понимаю. – 2008-09-26 08:59:01

1

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

+0

хорошая идея Алекс, я попробую. – 2008-10-03 19:02:20

0

Я думаю, что проблема может быть где-то в файле CruiseControl. Скорее всего, происходит то, что процесс CruiseControl убирает файлы где-то, но, возможно, из-за блокировки файлов (возможно, Apache) он не может записать файлы обратно в эту папку.

В любом случае, так как «развернуть», кажется, последний шаг, предыдущие шаги, вероятно, очистить каталог и развертывания не удается бежать, оставив папку пустой в конце лестницы.