2012-06-25 19 views
6

我完全不熟悉Capistrano,我剛剛閱讀了一些關於配置它的基本文章。但我的問題是,爲什麼要使用git post-receive hook來部署Rails應用程序文件,爲什麼還要打擾Capistrano呢?Rails爲什麼在你有git post-receive hook時使用capistrano?

Capistrano提供的鉤子沒有提供什麼?

我正在尋找自動部署我的Rails應用程序而不使用FTP的方法,並且遇到了git鉤子和Capistrano。

或者我錯過了什麼?

謝謝。

+0

做了我的回答,回答你? – holaSenor

回答

7

Git掛鉤允許您在給定的操作中執行與git存儲庫相關的腳本。

Capistrano允許您管理您的生產部署。

一次調用'cap deploy'將克隆目標機器上的主分支,存檔以前的版本,預編譯您的資產,重新啓動乘客。 Capistrano還可以遷移您的數據庫,或者在deploy.rb文件中配置的任何服務器上執行任意數量的任意命令。

與Capistrano一起部署到應用程序/數據庫服務器環境,當您遇到部署問題時,您將毫無困難地找到幫助。

+0

謝謝,基本上Capistrano給你一些更多的選項,如預編譯和重啓乘客。我發現它也可以讓你保留你的應用的版本,這很酷。更多問題:看起來你必須在Capistrano的供應商文件夾中部署寶石才能工作。是否有解決方案來部署後運行bundle install? – kakubei

+0

不,您將以與開發中相同的方式安裝寶石,添加到gemfile中,然後capistrano將自動運行捆綁安裝。它非常酷,在必要時會提示您輸入密碼,並且您會看到整個部署向上滾動終端。 – holaSenor

+0

如果遇到問題,Capistrano也會將部署回滾到最新版本。所以你不會留下一個破碎的一半安裝的應用程序。 – holaSenor

相關問題