我在生产服务器上有一个 git 裸仓库:
/home/username/railsapp.git
现在我想要一份与 mod_rails 一起使用的副本。就像是:
/home/username/railsapp/
将文件从 repo 复制到“生产”目录的最佳方法是什么?我应该做一些类似浅克隆的事情吗?
我在生产服务器上有一个 git 裸仓库:
/home/username/railsapp.git
现在我想要一份与 mod_rails 一起使用的副本。就像是:
/home/username/railsapp/
将文件从 repo 复制到“生产”目录的最佳方法是什么?我应该做一些类似浅克隆的事情吗?
从裸 git 存储库中“拉出”文件的常用方法确实是克隆存储库,然后在每次需要更新时拉取它。
您还可以使用钩子在将生产中使用的代码推送到存储库时自动更新它,但这是另一个主题。
我建议使用Capistrano,它封装了从源代码控制(主要是 Git)部署项目的命令。
简而言之,您配置您的环境(多阶段),指明应该跟踪哪个分支,以及在部署时它将从您的源代码控制直接克隆到您的部署机器上(使用各种缓存选项)。
除此之外,您还可以将需要绑定到进程、缓存清除、数据库迁移等的任何其他内容包装起来。
关于 Rails,肯定会有 Capistrano 食谱让你开始,它们会缓存清除、rake 和按需执行其他基本任务。