Capistrano много неудачных статусов в linked_files и linked_dirs, что они означают?

Итак, все работает отлично, насколько я вижу, но я вижу много статусов «сбой» в большинстве задач linked_files и linked_dirs, и мне интересно, заслуживают ли они какого-либо внимания. Вот несколько примеров:

DEBUG [423a17e1] Running [ -L /home/caluebat/www/ravenfort/releases/20160312213815/tmp/pids ] on xxx.xxx.xxx.xxx
DEBUG [423a17e1] Command: [ -L /home/caluebat/www/ravenfort/releases/20160312213815/tmp/pids ]
DEBUG [423a17e1] Finished in 0.470 seconds with exit status 1 (failed).
DEBUG [541d2f8a] Running [ -d /home/caluebat/www/ravenfort/releases/20160312213815/tmp/pids ] on xxx.xxx.xxx.xxx
DEBUG [541d2f8a] Command: [ -d /home/caluebat/www/ravenfort/releases/20160312213815/tmp/pids ]
DEBUG [541d2f8a] Finished in 0.476 seconds with exit status 1 (failed).

Мне не удалось найти никаких подробностей в официальных документах capistrano, и они отправляют вопросы либо сюда, либо в список рассылки.

Я был бы признателен за любые разъяснения по вышеуказанным сбоям. Спасибо большое.


person superuseroi    schedule 12.03.2016    source источник


Ответы (1)


Не беспокойтесь об этом!

Всякий раз, когда cap запускает команду, которая возвращает ненулевой результат, она печатает строку красным цветом и говорит «сбой». Это может ввести в заблуждение, потому что он запускает множество команд только для того, чтобы увидеть, что уже существует. Например, [ -d foo ] означает "Есть ли каталог с именем foo?" На самом деле это не сбой, это просто предварительная проверка целевой машины, чтобы выяснить, какую работу ей нужно выполнить.

Если cap столкнется с реальной ошибкой, он завершится досрочно, и вы получите трассировку стека и/или фактическое сообщение об ошибке.

person Paul A Jungwirth    schedule 12.03.2016
comment
+ 1 из man test, -L FILE exists and is a symbolic link (same as -h), -d FILE exists and is a directory, [ -d foo ] означает Есть ли каталог, ничего о названии. - person Зелёный; 13.03.2016
comment
Спасибо! кстати, я не смог найти документы для -L и -d - это параметры bash? - person superuseroi; 13.03.2016
comment
Так что это немного смешно. . . есть команда под названием test. Вы можете прочитать об этом с man test. Но чтобы не печатать, /bin/[ обычно связывают с /bin/test. Итак, команда, которую вы выполняете, это [! Квадратная скобка не является частью синтаксиса оператора bash if, это команда! - person Paul A Jungwirth; 13.03.2016
comment
Спасибо, @PaulAJungwirth, круто! да еще и смешно! :) - person superuseroi; 14.03.2016