2010-01-03 7 views
1

У меня возникла странная проблема. Я выполняю развертывание, а затем каталог, который только что был загружен, затем удаляется задачей очистки. Я не размещался на этом сайте уже более месяца, но я не изменил рецепт развертывания. Есть идеи?Capistrano удаляет последнюю версию

Вот выход. http://gist.github.com/267850

+0

Можете ли вы дать нам выход Capistrano? – Garrett

+0

Выход, добавленный выше. – kjs3

ответ

1

Что-то ломается во время этого шага:

** keeping 5 of 9 deployed releases 
    * executing "rm -rf /home/user/public_html/mysite/releases/20100103015806 /home/user/public_html/mysite/releases/20100103000220 /home/user/public_html/mysite/releases/20100103000202 /home/user/public_html/mysite/releases/20100102234212" 

потому, что 20100103015806 является выпуск в настоящее время развернуты. Я бы рекомендовал выключая код

set :keep_releases, 5 

в вашем конфигурационном файле/deploy.rb, пока проблема не может быть полностью отлажена

+0

У меня на самом деле нет «set: keep_releases» в моем файле развертывания. Я просто вызываю задачу очистки, которая, как я полагаю, имеет 5 по умолчанию. Я попытался поставить: сохранить релиз в рецепте, и, похоже, он не имеет никакого эффекта. – kjs3

+1

Ahh OK. Если вы удалите задачу очистки, это может помочь. Чтение через lib/capistrano/recipes/deploy.rb, которое имеет источник для очистки, может помочь отладить проблему. Попробуйте 'ls -xt # {releases_path}' на вашем сервере и посмотрите, есть ли что-то не так в заказе. Возможно, ваш .profile вашего сервера или что-то изменит порядок по умолчанию ls, так что это не тот порядок, который ожидает капитан. –

0

Он смотрит на меня, что эта линия является виновником:

* executing "ln -nfs /home/user/public_html/mysite/shared/content_images /home/user/public_html/mysite/current/public/content_images" 

Вы занимались этой линией в последнее время? Любые изменения в каталоге shared/content_images или его разрешениях? Кажется, что каталог отсутствует.

+0

Это потому, что цель mysite/current была удалена, поэтому mysite/current/public/content_images не удалось найти. т.е. пер -s/дом/пользователь/public_html/MySite/релизы/20100103015806/Главная/пользователь/public_html/MySite/ток ... гт -rf/Главная/пользователь/public_html/MySite/релизы/20100103015806 .. ln -nfs/home/user/public_html/mysite/shared/content_images/home/user/public_html/mysite/current/public/content_images ** не удалось –

+0

John Douthat прав. Это еще одна задача, которую я поставил в рецепте. Если я оставлю это, это не имеет значения, но если я оставлю задачу очистки, все будет в порядке. – kjs3

2

Это была проблема в 2.5.11 (ошибка, со своей стороны, я боюсь) - исправлено в 2.5.12- см. Capistrano.lighthouseapp.com, если вы заинтересованы (билет № 88) для обсуждения.

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