Команда Capistrano терпит неудачу молча без какой-либо обратной связи - PullRequest
0 голосов
/ 06 января 2010

Я пытаюсь создать задачу capistrano для настройки моего файла ротации журналов.

namespace :app do
  task :setup_log_rotation,:roles => :app do
    rotate_script = %Q{#{shared_path}/log/#{stage}.log {
      daily
      rotate #{ENV['days'] || 7}
      size #{ENV['size'] || "5M"}
      compress
      create 640 #{user} #{ENV['group'] || user}
      missingok
    }}

    put rotate_script, "#{shared_path}/logrotate_script"

    "sudo cp #{shared_path}/logrotate_script /etc/logrotate.d/#{application}"

    run "rm #{shared_path}/logrotate_script"
  end
end

В самом верху моего файла deploy.rb у меня была следующая строка

set :use_sudo, false

Я полностью пропустил, что моя команда cp тихо терпела неудачу, и на моем терминале я думал, что все в порядке. Это не хорошо. Как мне написать код cp, чтобы по какой-то причине произошел сбой cpase (в этом случае команда sudo не выполнялась), тогда я должен получить отзыв о своем терминале.

1 Ответ

0 голосов
/ 07 января 2010

Решил мою собственную проблему.

Посмотрите на это для чего-то похожего.

Я добавляю эту строку в deploy.rb

default_run_options[:pty] = true

И изменилось с

run "sudo cp #{shared_path}/logrotate_script /etc/logrotate.d/#{application}"

к этому

sudo "cp #{shared_path}/logrotate_script /etc/logrotate.d/#{application}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...