簡體   English   中英

使用git和capistrano將文件從本地更新到遠程

[英]update files from local to remote with git and capistrano

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

例如

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

在使用ftp並通過ftp替換文件之前,我發現這種方式對Rails不利。

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

我試過了:

cap deploy

但速度非常非常慢,服務器超載。 我不認為這是正確的

我不知道這是否必須與capistrano或git一起使用,例如我對git的支持是:

git remote add origin user@ip.ip.ip.ip/~/project
git push origin master

它可能使用此代碼在遠程服務器中的生產應用程序中部署更改嗎? 還是我使用capistrano在生產服務器中的應用程序中進行更改?

對不起,我很抱歉,但我是Rails和Capistrano和git的新手。

謝謝

您可以僅使用git本身或使用capistrano(與git一起)來部署代碼。

僅使用Git

  1. 您只需要運行一次“ git remote add origin user@ip.ip.ip.ip/~/project”,此后您的設置便已保存。 如果要查看遠程git倉庫,只需鍵入“ git remote”
  2. 進行更改並運行git commit(我想您已經知道如何執行此操作)之后,然后運行“ git push origin master”將所有更改推送到遠程倉庫。
  3. 現在,SSH到您的遠程服務器,例如“ ssh myuser@mydomain.com”(對於Mac)或使用Putty(對於Windows)
  4. 登錄到遠程服務器后,導航到您的應用程序根文件夾。
    • 如果您以前從未將git repo克隆到遠程服務器,則首先需要運行“ git clone”
    • 否則,只需運行“ git pull origin master”。 這將從上面的步驟2中獲取更改並將其拉到遠程服務器。 現在您完成了!

優點:這種方法只會將最新的更改拉到遠程服務器,因此速度更快。

缺點:您必須手動運行許多命令以SSH到服務器和git pull。

使用Capistrano

  1. 您提到您可以運行“ cap deploy”,所以我認為您的Capistrano設置很好。 這種方法比較慢,因為它在部署時會拉動您的最新提交(並可能會導致整個git repo)。
  2. 如果要加快Capistrano部署,可以將以下內容添加到deploy.rb中。 這將在遠程服務器上保留git repo的副本,而不是在每次部署時進行完整的git clone。

    設置:deploy_via,:remote_cache

優點:只需鍵入“ cap deploy”即可進行部署(加上部署回滾的所有capistrano好處等)

缺點:比git pull慢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM