所以我们有这个基本的Rails 3网站,带有capistrano 2.5.19以及多阶段扩展。
该网站很简单,但它有40,000多张图片。因此,部署需要很长时间,同时支持我们的QA服务器和生产。问题通常不是网络负载,因为capistrano只下载svn中更改的内容。问题是我们的服务器备份旧版本(价值4万的图像)并复制新版本(另外40k图像)所需的时间。
有人知道最佳做法吗?是将这个分成两个SVN文件夹和两个部署脚本以及一些符号链接魔法的唯一方法吗?或者我可以告诉capistrano在我知道图像没有改变的某些部署中排除图像吗?
答案 0 :(得分:1)
嗯,我们也有这个问题。解决方案是一个名为fast_remote_cache的库,如果你在linux上的话。
https://github.com/37signals/fast_remote_cache
这个想法是它硬链接到缓存,因此副本更快。一旦网站最终变得足够大,即使这需要太长时间,那么现在是考虑资产服务器的时候了。
答案 1 :(得分:0)
最好不要将所有这些图像放在存储库中,或者至少存放在不同的存储库中。
您需要了解有关设置资产服务器的信息。 They're easy to hook into Rails,只要您使用XXX_tag
帮助程序。你可以让资产服务器运行普通的旧Apache - 不需要任何动态的东西......
您也可以挂钩“云”文件存储(我正在考虑Amazon S3,但还有很多其他的)用于同一目的 - 它们将提供文件备份(和版本)控制,在某些情况下),你甚至不必担心自己运行资产服务器。
希望这有帮助!