2016-07-14 81 views
7

目前我们有一个新的服务器环境与多个服务器,所以如果我们下载存储库并运行gulp laravel elixer的缓存清除功能不起作用,因为每个服务器都有不同版本的.js和.css文件。Laravel elixer版本控制(缓存拦截器)多个服务器

问题是负载平衡可以将用户发送到每个请求的服务器。某些浏览器似乎不受此问题困扰,但例如,我无法使用JMeter正确加载css或js进行负载测试。

有没有一种方法来同步编译而无需将编译的文件添加到存储库或FTPing的一切?

我们正试图通过运行一个脚本来自动化部署,每次更新分支时都会下拉最新的回购库productiosn

+0

它不起作用?或者你的意思是你必须不断提交冗余版本? –

+0

它运行的非常漂亮,但每个服务器都有一个不同的缓存清除文件名 – brianlmerritt

+0

我已经使用laravel已经有一段时间了,所以请提醒我为什么这很重要?你的源代码SASS应该在每个开发机器上都保持不变,而你没有提交编译后的CSS,那么如果它不同,它又有什么关系?或者您是否在谈论集群生产环境中的某种负载平衡器问题,以便最终用户可能必须根据负载平衡器将其处理到哪个节点来获取这些资源的冗余副本? –

回答

4

我认为这个问题的唯一解决方案是提交编译资产文件。

我发现这个解决方案起初很奇怪,因为我们没有版本vendor文件夹。

但最后,我发现大多数前端项目总是与编译后的文件关联dist文件夹。

因此,您每次修改资产文件时都需要提交公开路径的build文件夹。

当然,在推动文件最小化之前,别忘了制作一个gulp --production

+0

谢谢 - 我会在周一一看,回来:) – brianlmerritt

+0

我认为你是接近,但登克尔的建议也应包括在回答:) – brianlmerritt