2015-09-06 125 views
1

我可以用Capistrano非常輕鬆地將我的應用程序部署到我的服務器。有沒有辦法使用Capistrano「前滾」?

如果我覺得有什麼不對,它也是容易回滾到以前的階段,:

cap deploy:rollback

但是如果我想以後往前走?我是否必須再次部署(運行捆綁器,預編譯資產,進行遷移,重新啓動Passenger)?

我的意思是,有沒有Capistrano命令可以簡單地鏈接到最新的階段,而無需再次部署? (當然,不需要手動登錄到服務器並強制該鏈接)。

回答

1

您可以通過運行cap -T來查看所有可用的Capistrano任務。

要回答你的問題,我不認爲你可以簡單地做到這一點。一般來說,如果您要回退發行版,那是因爲發行版很糟糕,您需要先更改代碼。此外,如果您要回滾發行版,並且回滾涉及恢復遷移或其他此類流程,則還需要重新運行這些,這通常涉及完整版本部署。

當我遇到這種特殊情況時,我通常不希望完全回滾,所以我登錄到服務器並手動弄亂了符號鏈接。

+0

我沒有意識到,我想要的不是一個好的Capistrano功能,因爲**遷移**,正是如此。有一段時間,我認爲一個簡單的符號鏈接重新分配可以完成這項工作。但是這樣做,數據庫可能會在不一致的階段結束。 –

+0

這不是一個壞問題。有時候一個簡單的符號鏈接重新分配正是你需要的;我自己做了好幾次。但是,這並不安全,所以您需要手動執行此操作。 –

相關問題