2012-03-21 60 views
0

我已經在capistrano和git的遠程服務器上部署了我的應用程序。我是capistrano和git的新手,我的問題是:使用git和capistrano從本地更新文件到遠程

我對本地項目中的任何文件進行了更改並添加了代碼,例如在控制器或模型或視圖或css或js或routes.rb或devise.rb等中更改2行。

之前,我有一個FTP並通過FTP替換文件,我看到這種方式是不好的鐵路。

我想知道如何將這些更改發送到我的vps遠程服務器中的生產遠程應用程序。

我曾嘗試:

cap deploy 

而且是非常非常緩慢,服務器超載。我不認爲這是正確的方式

我不知道這是否必須與capistrano或與git例如我用git suposse是:

git remote add origin [email protected]/~/project 
git push origin master 

它可能使用這個代碼在生產中的應用在遠程服務器上部署的變化?或者讓我使用capistrano在生產服務器上進行應用程序更改?

對不起,我是無知的,但我是與軌道和capistrano和git的新手。

謝謝

回答

0

可以使用代碼部署要麼只是Git的本身或Capistrano的(用git一起)。

只需使用Git的

  1. 你只需要運行「git的遠程添加原產[email protected]/~/project」一週時間,在這之後您的設置已保存。如果你想看到你的遠程git倉庫,只需輸入「git remote」
  2. 當你做了你的更改並運行git commit(我假設你已經知道如何做到這一點),然後運行「git push origin master」將所有更改推送到遠程倉庫。
  3. 現在SSH到您的遠程服務器,例如「ssh [email protected]」(對於Mac)或使用Putty(對於Windows)
  4. 登錄到遠程服務器後,導航到您的應用程序根文件夾。
    • 如果你以前從來沒有克隆你的git倉庫到遠程服務器,您首先需要運行「混帳克隆」
    • 否則,只需運行「混帳拉起源大師」。這會將上述步驟2中的更改提取到您的遠程服務器。現在你完成了!

優點:此方法僅抽出您最近更改您的遠程服務器上,因此它的速度要快得多。

缺點:你必須手動運行很多命令才能SSH到服務器和git pull。

使用Capistrano的

  1. 你提到你可以運行「帽部署」,所以我假設你Capistrano的設置是罰款。這種方法比較慢,因爲它在部署時會提取最新的提交(可能還有您的整個git回購)。
  2. 如果您想加快Capistrano部署,可以將以下內容添加到您的deploy.rb中。這會在您的遠程服務器上保存git repo的副本,而不是在每次部署時都執行完整的git克隆。

    集:deploy_via,:remote_cache

優勢:只需鍵入 「上限部署」 和部署情況

缺點(加上部署回滾等的所有Capistrano的好處):不僅僅是git的拉慢。

+0

謝謝,它確實對我有用:D謝謝 – hyperrjas 2012-03-22 12:50:20