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