【发布时间】:2016-07-14 12:00:28
【问题描述】:
目前我们有一个包含多个服务器的新服务器环境,因此如果我们下载存储库并运行 gulp,laravel elixer 的缓存清除功能将不起作用,因为每个服务器都有不同版本的 .js 和 . css 文件。
问题是负载平衡可以根据请求将用户发送到任一服务器。一些浏览器似乎不受此问题的影响,但例如我无法使用 JMeter 正确加载 css 或 js 进行负载测试。
有没有一种方法可以在不将编译后的文件添加到存储库或通过 FTP 传输所有内容的情况下同步构建?
我们正在尝试通过运行一个脚本来自动化部署,该脚本会在每次更新 productiosn 分支时拉取最新的 repo。
【问题讨论】:
-
它不起作用?还是您的意思是您必须继续提交冗余版本?
-
它工作得很好,但每个服务器都有不同的缓存破坏文件名
-
我已经有一段时间没有使用 laravel 了,所以请提醒我为什么这很重要?您的源 SASS 在每台开发机器上都应该保持相同,并且您没有提交已编译的 css,那么如果它不同又有什么关系呢?或者您是在谈论集群生产环境的某种负载均衡器问题,因此最终用户可能必须根据负载均衡器将它们扔到哪个节点来获取这些资源的冗余副本?
-
更新问题,但负载均衡器尤其是在运行 jmeter 时。
-
一种简单的方法是编写自己的缓存清除逻辑。编译并在保存之前,通过一些散列算法对其进行管道传输,以确保相同的内容将产生相同的文件名,但在更改某些内容时文件名会有所不同。一定要写信给
manifest.json。
标签: php laravel gulp laravel-elixir