创建缓存后,我可以移动symfony2目录或主机吗?

时间:2012-07-13 17:27:17

标签: caching deployment symfony

问题:

sf2是否与目录无关?即:我可以在某个目录中执行cache:clear然后将项目目录移动到另一台机器/目录而不会破坏缓存吗?

情景:

  • 我们有一个基于Symfony2的应用程序。
  • 生产机器有500MB。
  • 我们目前通过上传软件然后清除缓存进行部署。
  • 在生产机器中,app/console cache:clear持续约5分钟。
  • 在一台2GB的开发机中,它只持续几秒钟。

我们要求尽量缩短生产时间。 5分钟等待缓存太多了。

我们考虑在本地计算机上运行cache:clear,然后使用已生成的缓存将产品上传到生产环境。项目的本地路径(/ home / ubuntu / devel / ...)与生产路径(/ var / www)不同,无法调整为相同。

1 个答案:

答案 0 :(得分:2)

Symfony2缓存在各个地方使用绝对路径,因此如果路径不同,则无法将缓存从一台计算机复制到另一台计算机。

您真正需要的是通过capifony进行部署。部署后,它会在您的实时计算机上创建一个新文件夹,在该文件夹中准备新版本的项目(包括发布资产,清除缓存等),然后只需使用新文件夹切换旧文件夹。

由于在实时服务器上保留了一定数量的旧版本,如果必须,您甚至可以进行回滚。

您可以使用capifony和Jenkins CI构建一个漂亮的单击部署;)