2014-03-26 68 views
1

我有一個任務驗證即將部署的構建的完整性。如何從任務中停止Capistrano部署

我想暫停/失敗部署,以防萬一它被破壞。

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

注:項目採用railsless-deploy

+1

'raise'應該爲此工作。 – engineersmnky

回答

4

你應該提出一個CommandError例外:

error = CommandError.new("An error that should abort and rollback deployment") 
raise error 

因此,沒有回溯所示。

0

如前所述通過在問題的意見@engineersmnky,raise "Error with build"將觸發當前部署停止。但是這個解決方案打印出一個醜陋的堆棧跟蹤,因爲它沒有被Capistrano處理。