2011-09-26 81 views

回答

0

engineyard-serverside API判斷,它不回滾遷移。這是有道理的,因爲它有多麼不可預測。作爲參考,它不遷移的實際代碼是:

# task 
    def rollback 
    if c.all_releases.size > 1 
     rolled_back_release = c.latest_release 
     c.release_path = c.previous_release(rolled_back_release) 

     revision = File.read(File.join(c.release_path, 'REVISION')).strip 
     info "~> Rolling back to previous release: #{short_log_message(revision)}" 

     run_with_callbacks(:symlink) 
     sudo "rm -rf #{rolled_back_release}" 
     bundle 
     info "~> Restarting with previous release" 
     with_maintenance_page { run_with_callbacks(:restart) } 
    else 
     info "~> Already at oldest release, nothing to roll back to" 
     exit(1) 
    end 
    end 

你可以很輕鬆地解析出來意味着它再不會爲您的項目符號連接,消除了最新的(失敗)的部署,並重新啓動網絡服務器。