【发布时间】:2012-11-15 07:24:32
【问题描述】:
我使用 amazon s3 存储静态文件,使用 django-compressor 压缩 js 和 css 文件,COMPRESS_OFFLINE = True。
为了部署到我的生产服务器,我首先运行 python manage.py compress,它将压缩文件上传到 Amazon s3,然后执行 git push 到我的 repo。在生产服务器上,我从这个 repo 中提取,我总是遇到生成的 css 和 js 文件之间的同步问题。
我搜索可能性并注意到压缩器实际上查看压缩文件的修改时间。当我检查我的应用程序的静态文件夹(不是 S3 文件)中的静态文件之间的修改日期时,我注意到它们是不同的,我相信原因是 git 更改了已更改文件的修改日期。
我该如何解决这个问题?
谢谢
【问题讨论】:
-
你在 git 中跟踪压缩文件吗?
-
@jdi 我在 git 上跟踪未压缩的。压缩文件上传到我的亚马逊 S3 存储桶。服务器和本地机器检查修改时间,同时匹配自上次压缩以来是否有任何文件被更改,这就是我失败的地方。
-
你能扩展一下吗?您将 js 和 css 文件压缩并上传到 S3 存储桶。然后提交并推送未压缩的文件;这些文件是由
manage.py compress修改的(js 和 css 链接在 *.html 模板中更新以引用亚马逊服务器)还是推送原始文件?另一个问题:您是否也在生产服务器上压缩和发送相同的文件?你期待什么结果?不幸的是,目前还不清楚。 -
我认为这个问题可能是相关的:stackoverflow.com/questions/1964470/… 您可以查看第二个答案(不是已接受的答案)。可能会有所帮助。
-
您最后一次提交是在压缩并上传到 S3 之前还是之后?我的猜测是你提交,运行压缩,此时文件被 django-compressor“修改”。在最终提交/合并之前尝试压缩。
标签: git django-compressor