首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用git和capistrano从本地到远程更新文件

使用git和capistrano从本地到远程更新文件
EN

Stack Overflow用户
提问于 2012-03-21 11:27:36
回答 1查看 510关注 0票数 0

我已经在远程服务器上部署了我的应用程序,使用了capistrano和git。我是卡皮斯特拉诺和吉特的新手,我的问题是:

例如:

我对本地项目中的任何文件进行更改并添加代码,例如更改控制器或模型或视图中的2行代码、css或js或routes.rb或devise.rb...etc。

在使用ftp并通过ftp替换文件之前,我发现这种方式对rails不好。

我想知道如何将这些更改发送到我的vps远程服务器中的生产远程应用程序。

我试过:

代码语言:javascript
复制
cap deploy

但是是非常慢和超载的服务器。我认为这样做是不对的

我不知道这一定是用卡皮斯特拉诺做的,还是用吉特做的?例如,我赞成吉特是:

代码语言:javascript
复制
git remote add origin user@ip.ip.ip.ip/~/project
git push origin master

是否可以使用这段代码在远程服务器上部署生产应用程序的更改?或者我是否在生产服务器中使用capistrano对应用程序进行更改?

对不起,我的无知,但我是新手的rails,卡皮斯特拉诺和吉特。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-21 15:17:36

您可以使用git本身或capistrano (与git一起)部署代码。

只使用Git

  1. 您只需要运行一次"git远程添加原始用户@ip.ip/~/project“,之后您的设置就已经保存好了。如果您想要查看您的远程git repos,只需在您进行更改并运行git提交后输入"git remote“
  2. (我想您已经知道如何做到这一点了),然后运行"git推送原主”将您的所有更改推送到远程回购。
  3. 现在将SSH推送到您的远程服务器,例如"ssh myuser@mydomain.com“(用于Mac)或使用Putty ( folder )
  4. 登录到远程服务器,导航到您的应用程序根文件夹。
    • 如果您以前从未将git克隆到远程服务器上,则首先需要运行"git克隆“
    • ,否则只需运行"git拉源母版”即可。这将获取并将上述步骤2中的更改提取到远程服务器。现在你是finished!

优点:这种方法只需要对远程服务器进行最新的更改,因此速度要快得多。

缺点:您必须手动运行许多命令到SSH到服务器和git拉。

使用卡皮斯特拉诺

您提到的

  1. 可以运行"cap“,所以我假设您的Capistrano设置很好。这种方法比较慢,因为它会在部署时提取最新的提交(以及潜在的整个git )。
  2. 如果您想要加快deploy.rb的部署,可以将以下内容添加到deploy.rb中。这将在远程服务器上保留git的副本,而不是在每次部署时执行完整的git克隆。

集:deploy_via,:deploy_via

优点:只需键入"cap“即可进行部署(再加上部署回滚的所有capistrano好处等等)

缺点:比普通的拉力慢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9803694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档