如何从任务中停止 Capistrano 部署

Rap*_*iel 3 ruby capistrano

我有一个任务来验证即将部署的构建的完整性。

我想停止/失败部署以防万一它坏了。

task :test_build do
  if something
    puts "Problem with build"
    #prevent deploy to continue further
  end
end
after('deploy:update_code', 'test_build')
Run Code Online (Sandbox Code Playgroud)

注:项目用途 railsless-deploy

小智 5

您应该引发 CommandError 异常:

error = CommandError.new("An error that should abort and rollback deployment") 
raise error
Run Code Online (Sandbox Code Playgroud)

所以没有显示回溯。