繁体   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