ruby-on-rails - 当你有 git post-receive hook 时,Rails 为什么要使用 capistrano?

标签 ruby-on-rails git capistrano

我根本不熟悉 Capistrano,我只是阅读了一些关于配置它的基本帖子。但我的问题是,如果您可以使用 git post-receive Hook 部署 Rails 应用程序文件,为什么还要费心使用 Capistrano?

Capistrano 提供了哪些 hook 没有提供的功能?

我正在研究无需使用 FTP 即可自动部署 Rails 应用程序的方法,并遇到了 git hooks 和 Capistrano。

还是我遗漏了什么?

谢谢。

最佳答案

Git 钩子(Hook)允许您在给定操作上执行与 git 存储库相关的脚本。

Capistrano 允许您管理生产部署。

对“cap deploy”的一次调用将在您的目标机器上克隆您的 master 分支,归档以前的版本,预编译您的 Assets ,重新启动 passenger。 Capistrano 还可以迁移您的数据库,或在 deploy.rb 文件中配置的任何服务器上执行任意数量的任意命令。

使用 Capistrano 部署到应用程序/数据库服务器环境,当您遇到部署问题时,您可以毫不费力地寻求帮助。

关于ruby-on-rails - 当你有 git post-receive hook 时,Rails 为什么要使用 capistrano?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11194172/

相关文章:

ruby - 如何软重启 ruby​​ 应用程序?

ruby-on-rails - rails 4 - 在初始化器或使用它的模块中需要类 - 最佳实践

ruby-on-rails - 使用 Assets 管道在 Rails 4 项目中包含 JavaScript 文件

linux - git log 包含日期范围或之前/之后

Git/Diff Patch 技术讲解

Git 似乎有从远程 pull 提交,但日志不显示提交

ruby-on-rails - bash:找不到命令 capify 。 RVM,Mac 10.8.4

javascript - 当我使用浏览器后退按钮时保持 javascript 更改(jquery,rails 3)

ruby-on-rails - 向 api 发出 POST 请求时缺少参数或值为空

linux - 使用 Capistrano 跨集群设置环境变量