Capistrano запускает локальную команду выхода при сбое - PullRequest
3 голосов
/ 09 марта 2012

Я хотел бы запускать локальные команды и выходить при сбое любой команды.Каков наилучший способ сделать это с Capistrano?run_locally будет продолжать сбой.

Должен ли я каждый раз проверять состояние последних команд (или создавать локально локальную функцию)?

Ответы [ 2 ]

2 голосов
/ 18 июня 2012

Я должен был создать свою собственную функцию следующим образом:

task :build_backend do
  run_local("echo hello")
  run_local("abcdef")
  run_local("echo 'not run'")
end

def run_local(cmd)
  system cmd
  if($?.exitstatus != 0) then
    puts 'exit code: ' + $?.exitstatus.to_s
    exit
  end
end

Используя this

0 голосов
/ 15 марта 2012

Как правило, в оболочке вы можете запускать несколько команд так, как вы хотите, command1 --some-argument foo && command2 && command3. оператор && приведет к тому, что цепочка прекратится, если одна команда не будет выполнена (возвращает ненулевое возвращаемое значение).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...