2011-10-14 63 views
1

我知道這個問題在這裏可能被問過很多次,但我沒有真正找到一個好的答案。我試圖找到一個最簡單的解決方案,基本上只是在ec2實例上籤出一個git項目,簽出特定的分支,然後重新啓動apache服務器。ec2在rails中的部署

我不確定Capistrano是否是我需要的。我很好用一些shell腳本或ruby腳本,它們基本上只是調用'git clone ....','git checkout branch ...'和'restart apache server'等命令。

是否有框架讓我們我這樣做,所以我不必從頭開始編寫腳本。

+0

[基於Rails的EC2 AMI]的可能重複(http://stackoverflow.com/questions/1653101/rails-based-ec2-ami) –

+0

如果你「知道這個問題可能在這裏被問過很多次」,爲什麼你不是先找? –

+0

我試過但我沒有得到一個很好的答案。 – ed1t

回答

0

首先,我們是在談論「部署」還是關於「獲取代碼庫並複製到服務器」?

在第一種情況下,部署是一組常見的做法,如下:

  • 「服務器」抽象
  • 保持版本和回滾能力
  • 數據庫遷移,回滾和備份功能
  • 管理後臺處理

它實際上是指管理整個堆棧應用程序不僅僅是「重啓httpd」或其他東西。

Capistrano開發37signals貢獻,他們在許多項目中使用它。很多項目使用capistrano或相同的工具來部署。再看看這個,它很容易設置和使用。