我正在使用Capistrano运行远程任务.我的任务如下:

task :my_task do
  run "my_command"
end

我的问题是,如果my_command有退出状态!=0,则Capistrano认为它失败并退出.退出状态不是0时,如何使capistrano在退出时继续运行?我把my_command改成了my_command;echo,效果不错,但感觉像是黑客攻击.

推荐答案

最简单的方法是在命令末尾附加true.

  task :my_task do
    run "my_command"
  end

变成

  task :my_task do
    run "my_command; true"
  end

Ruby-on-rails相关问答推荐

Rails 7 - 富文本不显示附加的媒体内容

是否可以使用 Turbo 帧更新 Rails 表单输入字段值?

我如何在不在 gemfile 中的 rake 任务中要求 gem?

在 Rails 6.1 升级后,作业(job)规范使用 Minitest::UnexpectedError 包装错误

如何在 IRB/Rails 控制台中 suppress 返回值的输出?

如何在 YAML 中声明带有单引号和双引号的字符串?

跳过模型中的某些验证方法

如何将 Ruby 哈希转换为 XML?

如何在 Rails 迁移中添加判断约束?

Ruby 元素是否存在于数组中

在 rake 任务期间关闭观察者的简单方法?

Rails:带参数的 URL/路径

从 Rails 中的控制器调用辅助方法时出现未定义的方法

如何创建迁移以仅在索引存在时删除索引,而不是在不存在时抛出异常?

Rails 3 设计,current_user 在模型中不可访问?

Rails 路由:GET 没有参数 :id

从模型中获取验证

Rails:如何将日期时间字符串解析为特定时区

保存用户偏好的最佳方法?

Ruby/Rails CSV 解析,UTF-8 中的无效字节序列